Взять кассу
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1374
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
- Контактная информация:
Взять кассу
Кто знает, с МГМ должна ли работать маркировка? Я на метод write_sales_notice получаю ошибку 12 "не поддерживается в данном режиме" а у строки товара в тестовом кабинете стоит значок "КМ?". Хотелось бы понять, это я накосячил в коде или нужно менять настройки, прошивки и вот это все?
- Игорь Столяров
- Ветеран движения
- Сообщения: 7205
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 12 раз
- Поблагодарили: 43 раза
Взять кассу
Маркировка с МГМ работает однозначно. Но нужно обратить внимание на детали.
1. Драйвер АТОЛ версии 10.9.0.0 и выше;
2. Фискализация МГМ под ФФД 1.2 и поддержкой работы с маркировкой (см. рисунок)
3. Прошивка минимум АТОЛ 5, но если проходит п.2. - то по идее здесь всё OK!
4. И главное - корректное составление комплексного атрибута 1261 - см. логи АТОЛ.
За теми кто отстал - не возвращаться. (С) Кодекс
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1374
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
- Контактная информация:
Взять кассу
Драйвер 10.9.4.5, галочка маркировки стоит, атрибут 1261 составляется, по крайней мере в логах есть большое значение и затем оно же судя по логам отправляется в base64, и ниже ошибка 12 про "данный режим".... Что хоть за режим то...
- Игорь Столяров
- Ветеран движения
- Сообщения: 7205
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 12 раз
- Поблагодарили: 43 раза
Взять кассу
Здесь не нужно пытаться понять буквально ... У АТОЛа своя логика ошибок. Интернет говорит следующее:
Ошибка "Не поддерживается в данном режиме (12)" означают, что в дККТ не указан важный параметр (UIN). Для решения возникшей ошибки необходимо обратиться в компанию - разработчик, для ввода данного параметра в дККТ.
Я бы проверил, что там составляется ... потому, что очень может быть что команда не может распарсить реквизит.
Вы очищали буфер перед формированием комплексного реквизита ?
За теми кто отстал - не возвращаться. (С) Кодекс
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1374
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
- Контактная информация:
Взять кассу
Буфер очищается при формировании, по крайней мере я формирую комплексный точно так же, как и другие комплексные методом UtilFormTlv в котором очистка идёт первой строкой, ничего своего я тут не придумывал. Ну ладно, буду дальше копать, может что и накопаюИгорь Столяров писал(а): ↑28 Сентябрь 2023, 10:28 Вы очищали буфер перед формированием комплексного реквизита ?
- Игорь Столяров
- Ветеран движения
- Сообщения: 7205
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 12 раз
- Поблагодарили: 43 раза
Взять кассу
Здесь может быть как в старой сказке, где в одной деревне всех звали Буратино ...

Если Вы говорите о моём форке класса АТОЛ - то в начале метода UtilFormTlv() очищается текстовый
буфер принятия значения комплексного реквизита для записи, а я предыдущем сообщении говорил
об очистке буфера самого комплексного реквизита - см. метод: ResetParams().
И обратите внимание, что
libfptr_write_sales_notice() необходимо вызывать после регистрации всех позиций в чеке, причём среди позиций обязательно должны быть позиции с КМ.
За теми кто отстал - не возвращаться. (С) Кодекс
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1374
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
- Контактная информация:
Взять кассу
Он же у вас ни разу нигде не вызывается...Игорь Столяров писал(а): ↑28 Сентябрь 2023, 11:54 Если Вы говорите о моём форке класса АТОЛ - то в начале метода UtilFormTlv() очищается текстовый
буфер принятия значения комплексного реквизита для записи, а я предыдущем сообщении говорил
об очистке буфера самого комплексного реквизита - см. метод: ResetParams().
- Игорь Столяров
- Ветеран движения
- Сообщения: 7205
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 12 раз
- Поблагодарили: 43 раза
Взять кассу
Правильно ! Потому, что комплексные реквизиты формируются в начале чека и запись реквизита очищает буфер.
Я об этом написал в комментариях ...

А с 1261 немного другая история ... И не зря же есть метод libfptr_reset_params() в самом драйвере ?
За теми кто отстал - не возвращаться. (С) Кодекс
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1374
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
- Контактная информация:
Взять кассу
Что передается проверил по логам, ничего лишнего там нет, только те параметры что нужны
UIN прописан
Ошибка так и осталась
UIN прописан
Ошибка так и осталась
- Игорь Столяров
- Ветеран движения
- Сообщения: 7205
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 12 раз
- Поблагодарили: 43 раза
Взять кассу
Ну тогда попробуйте задать вопрос на форуме АТОЛ. Сразу всё расписывайте - они только по сделанному логу будут смотреть.
За теми кто отстал - не возвращаться. (С) Кодекс
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1374
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
- Контактная информация:
Взять кассу
В общем вроде разобрался
libfptr_write_sales_notice не нужен
Тег 1261 не нужен
Вместо него тег 1260 (аналог 1261 по составу) но на каждую позицию. Этого в классе Игоря не было в принципе, вот и пошёл неверным путём
libfptr_write_sales_notice не нужен
Тег 1261 не нужен
Вместо него тег 1260 (аналог 1261 по составу) но на каждую позицию. Этого в классе Игоря не было в принципе, вот и пошёл неверным путём
- Игорь Столяров
- Ветеран движения
- Сообщения: 7205
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 12 раз
- Поблагодарили: 43 раза
Взять кассу
Однозначно ! Поэтому я всегда настоятельно рекомендую понять, что Вам нужно сделать,
а не искать упорно победную последовательность нажатия клавиш.

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

За теми кто отстал - не возвращаться. (С) Кодекс