Свой макет чека

Mini web-сервер для печати чеков на фискальных регистраторах из мобильных приложений через HTTP запрос JSON.
yurs89
Сообщения: 14
Зарегистрирован: 09 окт 2019, 12:07

Свой макет чека

Сообщение yurs89 » 12 окт 2019, 15:03

Добрый день, возник ряд вопросов
1. подскажите можно ли как то реализовать свой макет фискального чека как например во вложении.
2. Можно ли использовать шрифты принтера, в принтере около 8-10 шрифтов, а использовать получается только 5 (1-4 и стандартный, интенсивность почему то не меняет шрифт никак)
3. при печати копии фискального чека по данным из ФН, можно ли подставлять свои данные с него?
4. модно ли Z-отчет печатать в своем макете чека (в Ркипере например не зависит от принтера макет Z-отчета) или он просто закрывает без печати и потом сам формирует чек?
5. бывает принтер впадает в какой то режим и не печатает фискальный чек пока не перезагрузишь его, люди набивают в очередь один и то же чек и бывают дубли чеков, можно ли передавать какой-то номер заказа что бы ФН уже понимал что чек был напечатан и блочил запрос (через ПО конечно сделали блокировку, но все равно от дурака защита не помешает дополнительная)

Принтер ШтриМ 01ФИзображение

Audim
Администратор
Сообщения: 1797
Зарегистрирован: 17 мар 2015, 18:36

Re: Свой макет чека

Сообщение Audim » 14 окт 2019, 02:31

1. Нет. Только выбирать макет из имеющихся в ККТ через ДТО производителя..
2. kkmserver должен одинаково вести себя на различных моделях ККТ.
то и так очень сложно, поэтому нет.
3. Как это?
4. Нет. Z-отчет формирует ККТ. Повлиять не это нельзя.
5. Такого в ККТ и в ФН нет.

yurs89
Сообщения: 14
Зарегистрирован: 09 окт 2019, 12:07

Re: Свой макет чека

Сообщение yurs89 » 14 окт 2019, 12:51

Спасибо, будем разбираться.

Еще очень часто вылазит ошибка при печати нефискального (слип) чека: Не удалось напечатать не фискальную строку (Ошибка команды на открытие сеанса)

не подскажите куда копать?

Код: Выделить всё

Текст команды:
IdType: KkmStrihM, IdModel: 250, ver: 2.1.30.16, Width: 48, Firmware: 7655 от 10.07.2019, IP client: 127.0.0.1:25470
{"Command":"RegisterCheck","NumDevice":0,"IdCommand":"990000041d0000-8260000-fb0000-fac0000-60900001a20000c70000","IsFiscalCheck":false,"NotPrint":false,"CheckStrings":[{"PrintText":{"Text":">#0#<\u0417\u0430\u043a\u0430\u0437 \u211621","Font":1,"Intensity":15}},{"PrintText":{"Text":"<< >>"}},{"PrintText":{"Text":"\u0422\u0435\u043b.: 8423537331","Font":0,"Intensity":0}},{"PrintText":{"Text":"\u041a\u043e\u0440\u043e\u043b\u0435\u0432\u0430 (\u0421\u043e\u0446\u0433\u043e\u0440\u043e\u0434) 8","Font":2,"Intensity":0}},{"PrintText":{"Text":"<< >>"}},{"PrintText":{"Text":"14.10.2019 10:11:09<#0#>14.10.2019 10:28:21","Font":0,"Intensity":0}},{"PrintText":{"Text":"<< >>"}},{"PrintText":{"Text":"<<*>>"}},{"PrintText":{"Text":"<< >>"}},{"PrintText":{"Text":"1. \u041c\u044f\u0441\u043d\u0430\u044f \u0441\u0431\u043e\u0440\u043d\u0430\u044f 40<#0#>1","Font":2,"Intensity":1}},{"PrintText":{"Text":"\u0421\u043e\u0443\u0441\u044b: \u0427\u0435\u0441\u043d\u043e\u0447\u043d\u044b\u0439","Font":0,"Intensity":0}},{"PrintText":{"Text":"<< >>"}},{"PrintText":{"Text":"<<*>>"}},{"PrintText":{"Text":"<< >>"}},{"PrintText":{"Text":"<< >>"}},{"PrintText":{"Text":"\u0418\u0442\u043e\u0433\u043e<#11#>>500 \u0440\u0443\u0431.","Font":1,"Intensity":0}},{"PrintText":{"Text":"\u041d\u0430\u043b\u0438\u0447\u043d\u044b\u043c\u0438<#11#>>500 \u0440\u0443\u0431.","Font":1,"Intensity":0}},{"PrintText":{"Text":"<< >>"}},{"PrintText":{"Text":"\u041c\u0410\u0422\u0420\u0418\u041a\u0421","Font":0,"Intensity":0}},{"PrintText":{"Text":"<< >>"}},{"PrintText":{"Text":"\u041e\u043f\u043b\u0430\u0442\u0430: \u041d\u0430\u043b\u0438\u0447\u043d\u044b\u043c\u0438","Font":2,"Intensity":0}},{"PrintText":{"Text":"<< >>"}},{"PrintText":{"Text":"<< >>"}},{"PrintText":{"Text":"<< >>"}},{"PrintText":{"Text":"<< >>"}}]}
Текст ошибки:
Не удалось напечатать не фискальную строку (Ошибка команды на открытие сеанса)
Низкоуровневые команды:

> 00:00.000007: Socket открыт.
< 00:00.000133: 05
> 00:00.018773: 15
< 00:00.000108: 02-05-11-1E-00-00-00-0A
> 00:00.000674: 06-02-30-11-00-1E-43-31-E7-1D-0A-07-13-01-EF-04-90-02-02-00-02-4E-41-00-00-01-01-10-0E-0A-13-0A-1C-26-00-3F-15-01-00-04-00-00-00-00-00-84-1A-D8-B4-01-00-35
< 00:00.002415: 06
> 00:00.000856: FF
< 00:00.000066: 05
> 00:00.000682: 15
< 00:00.000036: 02-05-10-1E-00-00-00-0B
> 00:00.000772: 06-02-10-10-00-1E-90-02-02-00-00-9F-DD-20-01-00-8C-02-00-63
< 00:00.000264: 06
> 00:00.000604: FF
< 00:00.000072: 05
> 00:00.000749: 15
< 00:00.000055: 02-05-11-1E-00-00-00-0A
> 00:00.000762: 06-02-30-11-00-1E-43-31-E7-1D-0A-07-13-01-EF-04-90-02-02-00-02-4E-41-00-00-01-01-10-0E-0A-13-0A-1C-26-00-3F-15-01-00-04-00-00-00-00-00-84-1A-D8-B4-01-00-35
< 00:00.000622: 06
> 00:00.000944: FF
< 00:00.001163: 05
> 00:00.000854: 15
< 00:00.000074: 02-37-2F-1E-00-00-00-02-02-20-20-20-20-20-20-20-C7-E0-EA-E0-E7-20-B9-32-31-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-76
> 00:00.000734: 06-02-03-2F-00-1E-32
< 00:00.001054: 06
> 00:00.000595: FF
< 00:00.000120: 05
> 00:00.000639: 15
< 00:00.000060: 02-37-2F-1E-00-00-00-02-01-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-05
> 00:00.000710: 06-02-03-2F-00-1E-32
< 00:00.013823: 06
> 00:00.001032: FF
< 00:00.000207: 05
> 00:00.000548: 15
< 00:00.000097: 02-37-2F-1E-00-00-00-02-01-D2-E5-EB-2E-3A-20-38-34-32-33-35-33-37-33-33-31-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-E0
> 00:00.000702: 06-02-03-2F-00-1E-32
< 00:00.001441: 06
> 00:00.000976: FF
< 00:00.000176: 05
> 00:00.000581: 15
< 00:00.000083: 02-37-2F-1E-00-00-00-02-04-CA-EE-F0-EE-EB-E5-E2-E0-20-28-D1-EE-F6-E3-EE-F0-EE-E4-29-20-38-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-11
> 00:00.000724: 06-02-03-2F-00-1E-32
< 00:00.002524: 06
> 00:00.001062: FF
< 00:00.000179: 05
> 00:00.000596: 15
< 00:00.000102: 02-37-2F-1E-00-00-00-02-01-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-20-05
> 00:00.000655: 06-02-03-2F-00-1E-32
< 00:00.001212: 06
> 00:00.001121: FF
< 00:00.000179: 05
> 00:00.000598: 15
< 00:00.000093: 02-37-2F-1E-00-00-00-02-01-31-34-2E-31-30-2E-32-30-31-39-20-31-30-3A-31-31-3A-30-39-20-20-20-20-20-20-20-20-20-20-31-34-2E-31-30-2E-32-30-31-39-20-31-30-3A-32-38-3A-32-31-05
> 00:00.000656: 06-02-03-2F-00-1E-32
< 00:00.001238: 06-05
> 00:15.110347: 02
> 00:00.000000: Ошибка команды на открытие сеанса
< 00:00.000161: 05
> 00:00.000078: 03
> 00:00.000000: Ошибка команды на открытие сеанса
> 00:00.000000: Socket закрыт.
Время выполнения команды:00:15.177306
Текст ответа:
{"Command":"RegisterCheck","Error":"Не удалось напечатать не фискальную строку (Ошибка команды на открытие сеанса)","Warning":"","Status":2,"IdCommand":"990000041d0000-8260000-fb0000-fac0000-60900001a20000c70000","NumDevice":1}

Audim
Администратор
Сообщения: 1797
Зарегистрирован: 17 мар 2015, 18:36

Re: Свой макет чека

Сообщение Audim » 14 окт 2019, 16:48

Если связь с ККТ по сети - то проверяйте сеть.
Если СОМ порт попробуйте снизить скорость..

yurs89
Сообщения: 14
Зарегистрирован: 09 окт 2019, 12:07

Re: Свой макет чека

Сообщение yurs89 » 16 ноя 2019, 15:59

так и не удалось победить ошибку "Ошибка команды на открытие сеанса" на штрихМ. Подключение по LAN, меняли кабель, порт - ничего не помогает (ошибка всегда возникает после печати первых 2-4 строк на чеке). Подскажите куда еще можно покопать, в день раз 8 может вылезти ошибка.

так же периодически выходит ошибка "Ошибка печати чека: Не удалось открыть регистрацию чека ( 115-ККТ: Команда не поддерживается в данном режиме )" - пока выход нашли только перезагрузка кассы руками, нет ли программного решения какого то выйти из данного ступора кассы?

Audim
Администратор
Сообщения: 1797
Зарегистрирован: 17 мар 2015, 18:36

Re: Свой макет чека

Сообщение Audim » 19 ноя 2019, 03:18

>ошибка всегда возникает после печати первых 2-4 строк на чеке
Всегда? на каждом чеке?

Вообще по моему мнению - в ремонт!

yurs89
Сообщения: 14
Зарегистрирован: 09 окт 2019, 12:07

Re: Свой макет чека

Сообщение yurs89 » 19 ноя 2019, 17:14

ошибка возникает примерно в 8 чеках из 400 чеков/день, причем при повторной печати этого же чека все нормально - это про ошибку "Ошибка команды на открытие сеанса

Audim
Администратор
Сообщения: 1797
Зарегистрирован: 17 мар 2015, 18:36

Re: Свой макет чека

Сообщение Audim » 19 ноя 2019, 20:48

Больше ни какая программа не пытается регистрировать чеки?

yurs89
Сообщения: 14
Зарегистрирован: 09 окт 2019, 12:07

Re: Свой макет чека

Сообщение yurs89 » 19 ноя 2019, 21:56

Audim писал(а):
19 ноя 2019, 20:48
Больше ни какая программа не пытается регистрировать чеки?
нет, организованно каким образом, печатается слип чек, ждем ответа от ккм сервера о статусе, печатаем кассовый чек. ошибка на слип чеке вываливается как раз на 3-4 строке

в очередь чеки накидываются 1 раз в 20 секунд (но это врятли связанно с ошибкой)

Audim
Администратор
Сообщения: 1797
Зарегистрирован: 17 мар 2015, 18:36

Re: Свой макет чека

Сообщение Audim » 20 ноя 2019, 12:03

еще вопрос - у вас в JSON-е иде кодирование текста:
"Text": "\u041a\u043e\u0440\u043e\u043b\u0435\u0432\u0430 (\u0421\u043e\u0446\u0433\u043e\u0440\u043e\u0434) 8",

Можете прислать JSON команды без такого кодирования?

Ответить