На главную страницу Версия-Т
VTSoft.ru

АМС-100К и chon100k.dll


RSS
АМС-100К и chon100k.dll
 
Еще раз здравствуйте.
По прежнему пишу ПО для АМС-100К, используя библиотеку - chon100k.dll. Возникло пару вопросов:

1)Функция Lock позволяет блокировать клавиатуру, но при выключении-включении питания, блокировка пропадает. Есть ли возможность заблокировать кассу полностью, или блокировать только не используемые клавиши(не прибегая к аппаратному отключению)?

2)При вызове функции SendSales на экране появляется окно напоминающее какие кнопки нужно нажать, так же в этом окне есть кнопка "отмена". Можно ли убрать эту кнопку, или сделать ее не активной.

За ранее благодарен.
 
Добрый день.

1) Полностью заблокировать клавиатуру ККМ не получится. Выборочной блокировки клавиш нет, блокируется всё поле клавиатуры.

2) А что не так с кнопкой отмены? Если ее нажать, то вывод чека отменится, а функция SendSales вернет ноль, означающий, что операция завершена с ошибкой. Функция GetErrorCode, в этом случае, вернет расширенный код ошибки 26, означающий, что вывод чека был отменен.
 
Как показывает практика, если есть кнопка, ее обязательно нажмут, и не один раз. А для вызова повторной печати чека необходимо сделать пару лишних телодвижений. И вообще, любые ошибки связанные с финансовыми операциями могут вызвать панику у не опытного пользователя.

В нашем случае если функция SendSales вызывается, значит пользователь уверен в том что хочет напечатать чек, и лишний раз об этом спрашивать не к чему.
 
Пока читал свой ответ, понял что проблема эта решается элементарно просто. В случае появления 26й ошибки повторно вызываем SendSales, и так пока чек не будет распечатан.
 
Цитата
Totenkopf пишет:
В нашем случае если функция SendSales вызывается, значит пользователь уверен в том что хочет напечатать чек, и лишний раз об этом спрашивать не к чему.


Вопроса в открывающемся окне нет. Там даны четкие указания к действиям, необходимым для инициации печати чека. Кнопка "Отмена" дает лишь возможность прерывания операции.

Цитата
Totenkopf пишет:
В случае появления 26й ошибки повторно вызываем SendSales, и так пока чек не будет распечатан.


Если Вы считаете, что так будет лучше, то можно пойти и таким путем. Пока на ККМ не нажаты указанные клавиши, никакой информации ей не передается, и повторный вызов SendSales просто запустит ожидание запроса от ККМ заново.