Взять кассу

Сканеры, кассы, ККТ и т.д.
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1374
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Взять кассу

Сообщение RaFaeL »

Кто знает, с МГМ должна ли работать маркировка? Я на метод write_sales_notice получаю ошибку 12 "не поддерживается в данном режиме" а у строки товара в тестовом кабинете стоит значок "КМ?". Хотелось бы понять, это я накосячил в коде или нужно менять настройки, прошивки и вот это все?
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7205
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 12 раз
Поблагодарили: 43 раза

Взять кассу

Сообщение Игорь Столяров »

RaFaeL писал(а): 27 Сентябрь 2023, 12:21 МГМ должна ли работать маркировка
Маркировка с МГМ работает однозначно. Но нужно обратить внимание на детали.
1. Драйвер АТОЛ версии 10.9.0.0 и выше;
2. Фискализация МГМ под ФФД 1.2 и поддержкой работы с маркировкой (см. рисунок)
3. Прошивка минимум АТОЛ 5, но если проходит п.2. - то по идее здесь всё OK!
4. И главное - корректное составление комплексного атрибута 1261 - см. логи АТОЛ.

1.jpg
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1374
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Взять кассу

Сообщение RaFaeL »

Драйвер 10.9.4.5, галочка маркировки стоит, атрибут 1261 составляется, по крайней мере в логах есть большое значение и затем оно же судя по логам отправляется в base64, и ниже ошибка 12 про "данный режим".... Что хоть за режим то...
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7205
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 12 раз
Поблагодарили: 43 раза

Взять кассу

Сообщение Игорь Столяров »

RaFaeL писал(а): 28 Сентябрь 2023, 9:26 Что хоть за режим то...
Здесь не нужно пытаться понять буквально ... У АТОЛа своя логика ошибок. Интернет говорит следующее:
Ошибка "Не поддерживается в данном режиме (12)" означают, что в дККТ не указан важный параметр (UIN). Для решения возникшей ошибки необходимо обратиться в компанию - разработчик, для ввода данного параметра в дККТ.
RaFaeL писал(а): 28 Сентябрь 2023, 9:26 атрибут 1261 составляется, по крайней мере в логах есть большое значение
Я бы проверил, что там составляется ... потому, что очень может быть что команда не может распарсить реквизит.
Вы очищали буфер перед формированием комплексного реквизита ?
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1374
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Взять кассу

Сообщение RaFaeL »

Игорь Столяров писал(а): 28 Сентябрь 2023, 10:28 Вы очищали буфер перед формированием комплексного реквизита ?
Буфер очищается при формировании, по крайней мере я формирую комплексный точно так же, как и другие комплексные методом UtilFormTlv в котором очистка идёт первой строкой, ничего своего я тут не придумывал. Ну ладно, буду дальше копать, может что и накопаю
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1374
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Взять кассу

Сообщение RaFaeL »

.
Последний раз редактировалось RaFaeL 28 Сентябрь 2023, 12:41, всего редактировалось 1 раз.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7205
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 12 раз
Поблагодарили: 43 раза

Взять кассу

Сообщение Игорь Столяров »

RaFaeL писал(а): 28 Сентябрь 2023, 11:19 очистка идёт первой строкой
Здесь может быть как в старой сказке, где в одной деревне всех звали Буратино ... ;)

Если Вы говорите о моём форке класса АТОЛ - то в начале метода UtilFormTlv() очищается текстовый
буфер принятия значения комплексного реквизита для записи, а я предыдущем сообщении говорил
об очистке буфера самого комплексного реквизита - см. метод: ResetParams().

И обратите внимание, что
libfptr_write_sales_notice() необходимо вызывать после регистрации всех позиций в чеке, причём среди позиций обязательно должны быть позиции с КМ.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1374
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Взять кассу

Сообщение RaFaeL »

Игорь Столяров писал(а): 28 Сентябрь 2023, 11:54 Если Вы говорите о моём форке класса АТОЛ - то в начале метода UtilFormTlv() очищается текстовый
буфер принятия значения комплексного реквизита для записи, а я предыдущем сообщении говорил
об очистке буфера самого комплексного реквизита - см. метод: ResetParams().
Он же у вас ни разу нигде не вызывается...
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7205
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 12 раз
Поблагодарили: 43 раза

Взять кассу

Сообщение Игорь Столяров »

RaFaeL писал(а): 28 Сентябрь 2023, 11:59 Он же у вас ни разу нигде не вызывается
Правильно ! Потому, что комплексные реквизиты формируются в начале чека и запись реквизита очищает буфер.
Я об этом написал в комментариях ... ;)
А с 1261 немного другая история ... И не зря же есть метод libfptr_reset_params() в самом драйвере ?
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1374
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Взять кассу

Сообщение RaFaeL »

Что передается проверил по логам, ничего лишнего там нет, только те параметры что нужны
UIN прописан
Ошибка так и осталась
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7205
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 12 раз
Поблагодарили: 43 раза

Взять кассу

Сообщение Игорь Столяров »

RaFaeL писал(а): 29 Сентябрь 2023, 14:06 Ошибка так и осталась
Ну тогда попробуйте задать вопрос на форуме АТОЛ. Сразу всё расписывайте - они только по сделанному логу будут смотреть.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1374
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Взять кассу

Сообщение RaFaeL »

В общем вроде разобрался
libfptr_write_sales_notice не нужен
Тег 1261 не нужен
Вместо него тег 1260 (аналог 1261 по составу) но на каждую позицию. Этого в классе Игоря не было в принципе, вот и пошёл неверным путём
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7205
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 12 раз
Поблагодарили: 43 раза

Взять кассу

Сообщение Игорь Столяров »

RaFaeL писал(а): 13 Октябрь 2023, 10:38 Этого в классе Игоря не было в принципе
Однозначно ! Поэтому я всегда настоятельно рекомендую понять, что Вам нужно сделать,
а не искать упорно победную последовательность нажатия клавиш. ;)

То о чём Вы пишите - это вообще разное и, естественно, реализуется по разному:
Тег 1260 - Отраслевой реквизит предмета расчета;
Тег 1261 - Отраслевой реквизит чека.

Если Вам нужен комплексный тег 1260 - формируете его и передаёте с каждой строкой чека,
что подробно расписано в документации к драйверу, а методы для реализации уже есть в классе. ;)
За теми кто отстал - не возвращаться. (С) Кодекс
Ответить