Пара вопросов по разработке ПО для взаимодействия с кассой
Пара вопросов по разработке ПО для взаимодействия с кассой
Здравствуйте, я разрабатываю ПО для взаимодействия с кассой. На руках имеется касса Меркурий 119Ф с МГМ. У меня возникли несколько вопросов:
1) Можно ли как нибудь получить логи обмена данными с кассой через программу "Панель управления ККТ"?
2) Как выполнить печать кассового чека? На других кассах есть возможность открытия чека, добавления позиций и закрытия чека. На этой же кассе, судя по Руководству по программированию, можно лишь вызывать печать кассового чека, в итоге совершенно не понятно, как печатать кассовый чек с несколькими позициями.
1) Можно ли как нибудь получить логи обмена данными с кассой через программу "Панель управления ККТ"?
2) Как выполнить печать кассового чека? На других кассах есть возможность открытия чека, добавления позиций и закрытия чека. На этой же кассе, судя по Руководству по программированию, можно лишь вызывать печать кассового чека, в итоге совершенно не понятно, как печатать кассовый чек с несколькими позициями.
Re: Пара вопросов по разработке ПО для взаимодействия с кассой
Попробую ответить по п.2: В руководстве же описан реквизит 1059, это и есть позиция товара. Соответственно если нужно напечатать 2 позиции, добавляете этот реквизит два раза в документ.
Re: Пара вопросов по разработке ПО для взаимодействия с кассой
Но ведь если выполнять печать чека через "Панель управления ККТ", то там есть возможность отдельной печати каждой позиции, а также чек закрывается отдельной командой, о которой в руководстве ни слова.
Re: Пара вопросов по разработке ПО для взаимодействия с кассой
В руководстве также ни слова о том, что все реквизиты этой команды должны быть переданы в одном пакете. Передавайте отдельно реквизиты для каждой позиции, а затем оставшиеся реквизиты, и будет вам печать отдельно каждой позиции, а после закрытие чека.
Re: Пара вопросов по разработке ПО для взаимодействия с кассой
А какой командой закрывать чек? В руководстве на этот счет пусто.
Re: Пара вопросов по разработке ПО для взаимодействия с кассой
Закрытие чека будет осуществлено как только вы правильно передадите все обязательные реквизиты команды.
p.s. можно поинтересоваться - а зачем вам такой тип работы? Ведь при этом чек будет печататься в несколько заходов, т.е. будет дергаться принтер несколько раз. Не проще ли собрать весь чек в буфер (все обязательные реквизиты), а затем передать целиком его на устройство?
p.s. можно поинтересоваться - а зачем вам такой тип работы? Ведь при этом чек будет печататься в несколько заходов, т.е. будет дергаться принтер несколько раз. Не проще ли собрать весь чек в буфер (все обязательные реквизиты), а затем передать целиком его на устройство?
Re: Пара вопросов по разработке ПО для взаимодействия с кассой
Вопрос по логам все также актуален.
Re: Пара вопросов по разработке ПО для взаимодействия с кассой
В итоге использовал сторонний сниффер для чтения логов.
По логам выяснил, что добавление позиции происходит командой Документ (0x53) с индексом 4, с передачей реквизита товара 1059. Закрытие чека производится той же командой, но с передачей реквизитов пользователя 1021, налоговой ставки 1055 (об этом реквизите в документации ни слова), признака расчета 1054, сумма наличными 1031, сумма электронными 1081.
По логам выяснил, что добавление позиции происходит командой Документ (0x53) с индексом 4, с передачей реквизита товара 1059. Закрытие чека производится той же командой, но с передачей реквизитов пользователя 1021, налоговой ставки 1055 (об этом реквизите в документации ни слова), признака расчета 1054, сумма наличными 1031, сумма электронными 1081.
Re: Пара вопросов по разработке ПО для взаимодействия с кассой
Вы бы читали внимательнее документацию. Всё необходимое там есть. Вот скрин по первым двум найденным Вами параметрам. Есть там и остальные.
Re: Пара вопросов по разработке ПО для взаимодействия с кассой
Вы не видите суть проблемы. Я нашел не эти параметры, а необходимые реквизиты для определенных операций. В первый раз я попробовал провести документ со всеми "обязательными" (судя по документации) реквизитами, но ничего не вышло.slan писал(а):Вот скрин по первым двум найденным Вами параметрам. Есть там и остальные.
О, да неужели?slan писал(а):Вы бы читали внимательнее документацию. Всё необходимое там есть.
1) Почему же я тогда смог выполнить команду без передачи всех обязательных реквизитов?
2) Где в документации информация о том, как произвести закрытие чека и добавление позиции? Касса это может.
3) Где в документации информация о реквизите 1055? А ведь он обязательный для закрытия чека.
Re: Пара вопросов по разработке ПО для взаимодействия с кассой
Leslov, давайте проясним ситуацию (дабы Вы не пытались меня в дальнейшем уличить непонятно в чем): я точно так же как и Вы писал софт по этой документации, я не составитель этой документации и не имею отношения к разработке протокола.
Теперь конкретнее по Вашим вопросам:
1. Команду можно выполнить и передав 1 реквизит, но чек закрыт не будет. Будет порционное оформление чека.
2. Как я уже Вам писал ранее , в руководстве есть информация о том как напечатать чек. Открытие, добавление позиции, закрытие - это команды более высокого уровня, которые можно реализовывать, а можно и не реализовывать в своем софте. Для закрытия чека необходимо передать все обязательные реквизиты. Не передав их - чек не закроете.
3. Здесь. Похоже Вы используете документацию к прошивке 1.0, я связывался с разработчиком, он сказал что в ней опечатка.
Теперь конкретнее по Вашим вопросам:
1. Команду можно выполнить и передав 1 реквизит, но чек закрыт не будет. Будет порционное оформление чека.
2. Как я уже Вам писал ранее , в руководстве есть информация о том как напечатать чек. Открытие, добавление позиции, закрытие - это команды более высокого уровня, которые можно реализовывать, а можно и не реализовывать в своем софте. Для закрытия чека необходимо передать все обязательные реквизиты. Не передав их - чек не закроете.
3. Здесь. Похоже Вы используете документацию к прошивке 1.0, я связывался с разработчиком, он сказал что в ней опечатка.
Re: Пара вопросов по разработке ПО для взаимодействия с кассой
Понятно, благодарю за пояснения. Непривычно пользоваться такой скромной документацией после огромной документации для АТОЛа.
Re: Пара вопросов по разработке ПО для взаимодействия с кассой
Чтобы не плодить темы. Задам свой вопрос здесь. Подключаем регистратор через USB. В документации есть следующий абзац:
bmRequestType = 11000001 // Device to Host + Vendor + Interface
bRequest = 0
wValue = 0
wIndex = 0
wLength = 0
чтобы получить состояние устройства. Но происходит ошибка. Нельзя-ли уточнить параметры к endpoint0 для получения состояния устройства?
Пробую сделать запрос к endpoint0 сКонечная точка 0H используется для: - обнаружения, конфигурирования USB устройства (стандартные запросы); - передачи управляющих команд и чтения состояния USB устройства (запросы производителя).
Состояние устройства считывается запросом к конечной точке с адресом 0H. При готовности устройства к приёму данных (код 00H), команда протокола записывается в конечную точку с адресом 02H, затем компьютер переходит к запросам состояния устройства и готовности данных ответа устройства к конечной точке с адресом 0H.
bmRequestType = 11000001 // Device to Host + Vendor + Interface
bRequest = 0
wValue = 0
wIndex = 0
wLength = 0
чтобы получить состояние устройства. Но происходит ошибка. Нельзя-ли уточнить параметры к endpoint0 для получения состояния устройства?
Re: Пара вопросов по разработке ПО для взаимодействия с кассой
Спасибо. Угадать что запрос это 0xfd - было сложно. )
Все параметры в нулях потому что инструкции, из которой вы взяли табличку, я найти не смог.
Мне доступно только руководство по программированию
http://incotexkkm.ru/attachments/54-fz/ ... -50_rp.pdf
Выложите эту инструкцию куда-нибудь.
Все параметры в нулях потому что инструкции, из которой вы взяли табличку, я найти не смог.
Мне доступно только руководство по программированию
http://incotexkkm.ru/attachments/54-fz/ ... -50_rp.pdf
Выложите эту инструкцию куда-нибудь.
Re: Пара вопросов по разработке ПО для взаимодействия с кассой
Выкладываю сюда
- Вложения
-
- USB интерфейс руководство по программированию.doc
- USB интерфейс
- (132.5 КБ) 289 скачиваний