Приложение, работающее с фискальным аппаратом

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
magizorjke
Сообщения: 1
Зарегистрирован: 04 июл 2013, 22:43

Здравствуйте, обращаюсь к вам за помощью!
Возникла острая необходимость написания приложения, работающего с аппаратом для печати чеков.
В чем суть:
[SPOILER]
//////// Сложная часть ////////
Имеется фискальный аппарат(для печати чеков), подключаемый через COM-порт, причем порт довольно часто изменяется(перетыкается и т.д)
Необходимо написать софтину, которая с заданным интервалом времени(5000ms) будет проверять, доступен ли фискальник, и, если нет, пройдет по всем COM-портам, чтобы его найти и установить подключение.
//////// Легкая часть ////////
Как только подключение установлено, программа будет брать из определенной папки текстовые файлы и пытаться их напечатать(в опр-нном порядке и опр-нным способом) если печать прошла успешно и отклик от фискальника получен - она их удалит. Если нет - переместит в каталог Failed с добавлением даты к названию файла.
Необходимо, чтобы, раз включив программу и указав папки файлов(для печати и фейлов), была возможность сколько угодно перетыкать фискальник по портам и не трогать ее(в фоновом режиме).
Зачем это нужно?
[SPOILER]
Все дело в том, что фискальник после переключения порта необходимо заного перенастраивать в 1С, отчего было придумано, возможно и не особо элегантное, но такое решение:
Изображение
1С будет сохранять данные для печати в текстовый файл с определенным именем(об этом - далее) в какой либо папке.
Софтина будет самостоятельно поддерживать коннект с фискальником, попутно сканируя папку с файлами для печати, и, в случае наличия таковых, печатать их по порядку их поступления и в соответствии с их типом. Т.е программа будет самостоятельно отправлять запросы фискальнику.
[/SPOILER]
[/SPOILER]
[CENTER]В чем затруднения:[/CENTER]
1) Программа пишется не для себя, а на сторону, поэтому необходимо написать максимально продуманный и оптимизированный продукт, потребляющий минимум ресурсов. Так как опыта в серьезной разработке еще мало, хотел бы услышать ваше мнение по поводу:
-Планирую выделить первые 4 разряда в названии файла под очередность печати(Взято с лихвой, учитывая, что файлы будут удаляться и перемещаться), затем 2 разряда под тип файла(будет 4 типа чеков),и, скорее всего, придется добавить дату для уникальности имени файла, целесообразно ли? Может быть, есть более хитрый способ?
-Практически без понятия как реализовать поддержку связи с фискальником, однако, в комплекте с драйвером к нему идут примеры реализации(установочник, можно установить только примеры, без драйвера)
Писать планирую на С++, но не могу в сишном примере выковырять функции для работы с фискальником, не понимаю, как применять эти функции в своем коде. Открыв пример для Delphi, в папке DrvFRTst\Fmu\ нашел эти функции, но не уверен, что смогу сам перенести на С :(
2) Предвижу тучи подводных камней, и если вы сможете помочь советом, как избежать тех или иных, я буду очень вам благодарен.
Спасибо вам, хотя бы за то, что потратили время на прочтение данного текста.
Ответить