БП 3.0, кассовый аппарат АТОЛ 55Ф Слежу за чеками

БП обновлена до последнего релиза 3.0.106.101

Последовательность действий: На основании реализации — счет на оплату — На основании счета на оплату — поступление наличных.
Так вот, если покупатель ООО, то чек пробивается без ошибок на ККМ. А если покупатель ИП, то выдается ошибка «Чек аннулирован» на ККМ.

Эта ошибка выходит на любое ИП, а любое ООО пробивается корректно. Что ж, этой ККМ не нравится в теге 1227. Никаких непечатаемых символов нет точно, проверял через Notepad++

Единственное отличие в логах, в теге 1227 между ООО и ИП, это то, что в ИП в конце добавляется пробел

Дело действительно было в этом пробеле. Если покупатель ИП, то отрабатывается следующая строка, то в конце добавляются какие-то ПерсональныеДанные, а так как в базе никаких данных нет, то добавлялся пробел

(2) И как победили? у меня бухгалтерия 3.0 не редактируется.

Такая же проблема на последнем релизе БП 3.0.
Пришлось удалить ИНН в карточке контрагента, и пробить чек как на физ.лицо, что не есть хорошо.
Обновил драйвер Атола на 10.9.1, ждем клиента именно ИП, что бы проверить.
Что делать и где с этим пробелом?

(4) Я в код залез и через расширение исправил ошибку. Там достаточно убрать пробелы по краям.

Подскажите в каком модуле и в каой строке изменили код
У меня такая же ошибка

(6) Общий модуль — ОборудованиеЧекопечатающиеУстройстваВызовСервера
Процедура — СформироватьXMLПакетДляФискализацияЧека

Там есть строка — Получатель = Получатель + Символы.НПП + ПерсональныеДанные.ДанныеДокумента
Я сделал так Получатель = СокрЛП(Получатель + Символы.НПП + ПерсональныеДанные.ДанныеДокумента);

Я сделал через расширение. Можно спокойно делать эту процедуру Вместо

Подскажите, почему здесь ошибка? На другом ККТ на другом компе такое же значение NL, ошибки нет

(8)У меня такая же проблема была.
Для ФФД 1.2 тэг 1230 должен быть цифровым (код страны) У вас строка.
https://www.nalog.gov.ru/rn77/about_fts/docs/10020801/

ВЕРСИЯ ККТ 5.8.1 такое значение не принимает.

На другом ККТ на другом компе скорее всего вторая версия ккт, поэтому ошибки нет.

1.

quazare

182
07.12.21 11:15
Сейчас в теме

прошу дополнить на какую версию драйвера написан код под объект

FR = Новый COMОбъект(«AddIn.Fptr10»);

2.

quazare

182
07.12.21 11:16
Сейчас в теме

не увидел на драйвере DTO 10.9.1.0

3.

aximo

143
07.12.21 14:06
Сейчас в теме

есть ли у вас ссылка на описание методов объекта Fptr10 ? Поделитесь пожалуйста здесь

5.

slava_1c

23
07.12.21 14:43
Сейчас в теме

10.

пользователь
16.12.21 10:32

Сообщение было скрыто модератором.

6.

lvictor58

2
10.12.21 14:39
Сейчас в теме

7.

slava_1c

23
10.12.21 15:53
Сейчас в теме

(6)Так в том то и дело что сам прописывается. Это признак того что касса сама ПРОВЕРИЛА этот код. Ничего руками добавлять не нужно.

8.

boevik

2
13.12.21 21:11
Сейчас в теме

9.

slava_1c

23
13.12.21 22:20
Сейчас в теме

(8) Нет, не делал, но судя по описанию АПИ — там, вроде как, все описано:

11.

OlegK14
12.01.22 20:42
Сейчас в теме

Пробовал получить КМ с вашим алгоритмом вставки GS1 (КМ = Лев(ПодготовленныйШК, 31) + Разделитель + Сред(ПодготовленныйШК, 32, 6) + Разделитель + Сред(ПодготовленныйШК, 38);) и вот какая штука получается. В 1 с в сообщении он выводится полнистью, символ GS1 не виден как положено но если его скопировать в блокнот то два последних символа пропадают.

12.

slava_1c

23
12.01.22 21:46
Сейчас в теме

(11)Не очень понял, если честно, что значит пропадают символы при копировании в блокнот. Суть алгоритма в том, чтобы сначала полностью избавиться от символов разделителя GS1 (был он или не был в строке — не важно), а затем точно его добавить. В этом случае никаких лишних символов точно не будет. Рекомендую Notepad++ он скрытые символы прекрасно показывает.

И такой код
010467018882925021xpFnolGDIAy9p91EE0692aTIUIotYb7jKc0OBacg­OKUkJyRAlnsUB/0rAiHfzFUk=

И такой код
010467018882925021xpFnolGDIAy9p91EE0692aTIUIotYb7jKc0OBacgOK­UkJyRAlnsUB/0rAiHfzFUk=

на выходе должны дать

Формула КМ = Лев(ПодготовленныйШК, 31) + Разделитель + Сред(ПодготовленныйШК, 32, 6) + Разделитель + Сред(ПодготовленныйШК, 38);
любопытна.
А как насчет того, что для фототоваров серийный номер (то, что находится после кода применения 21) содержит не 13 символов, а больше?
А код маркировки молочной продукции для групповой упаковки меньше.
А с табаком там вообще фиг поймешь

14.

slava_1c

23
18.01.22 00:02
Сейчас в теме

(13) Спасибо за замечание.

Минули меня стороной данные типы маркированной продукции, однако данный пост скорее показывает как без ошибки сформировать чек на ККТ АТОЛ с ФФД 1.2, нежели универсальный алгоритм замещения символов.

Тогда оговорюсь — алгоритм замещения символов корректен для шин, одежды, обуви.

В других типах маркировки следует обращать внимание на описанный в Честном Знаке формат маркировки.

А сколько этих типов завтра придумают одному Алишеру известно..

21.

KVIKS

3
02.02.22 01:22
Сейчас в теме

(13)Для табака на пачке для на кода 29 символов — брал ее всю целиком, на выходе получил М+

Ну, справедливости, ради я бы отметил, что документация по форматам маркировки после табака становится более-менее вменяемой с каждым новым видом продукции

А еще буду очень благодарен тем, кто сталкивался с работой маркировки ФФД 1.2 в реальных условиях и смог бы проконсультировать меня по таким вопросам:
1. В документации по драйверу и примерам обычно описывается ситуация, когда код маркировки проверяется в момент формирования чека, ну или до его открытия. Сколько в среднем занимает по времени проверка кода маркировки онлайн?
Мне хотелось бы организовать эту проверку на этапе добавления товара в реализацию до формирования фискального чека, чтобы можно было уже на этом этапе отказаться от продажи товара, если проверка кода была неуспешна.
2. Как средствами драйвера организовать проверку оффлайн и нужно ли это? Если я правильно понимаю, то оффлайн проверка это проверка кодов самим ФН. Откуда они там берутся и что такое «ключ проверки», упоминаемый в документации?
3. Судя про приведенному примеру, чек будет сформирован на все товары, если маркировка успешна будет напечатано «М+», если нет, то «М-«. Что потом делать с товарами, которые продались с «М-«?

16.

slava_1c

23
18.01.22 20:01
Сейчас в теме

(15) Чисто из своих наблюдений.

2. Оффлайн проверка, как я понял — это проверка на формат самой маркировки. Нужно указать тип маркировки и аппарат проверит, что код маркировки валиден. Естественно, о том, есть он в Честном знаке или нет и в каком он статусе, аппарат не скажет.

3. Если хоть один код маркировки не пройдет проверку, чек не нужно печатать — товар который не прошел проверку нужно заменить на другой.

(16) Огромное спасибо! В данный момент под рукой нет аппарата под ФФД 1.2, приходится работать «вслепую».

Добрый день. Подскажите где в 1с Ка 2.4 увидеть, что код маркировки не прошел проверку? Я только в самом чеке это вижу.

18.

alexey-simf
21.01.22 15:50
Сейчас в теме

Сейчас как раз воюю с ФФД 1.2 (Самописный кассовый клиент не 1С, который взаимодействует с фискальником через JSON).
В документации от Атола есть метод «validateMarks» («Проверка массива КМ»), который позволяет проверить массив данных о кодах маркировки (далее КМ) в одно действие; результатом является массив результатов проверки каждого из КМ (порядок в ответе соответствует порядку в запросе). Если я правильно понял, то выигрыш в сравнении с методом «beginMarkingCodeValidation», как минимум, в отсутствии необходимости опрашивать фискальник на наличие результата после каждого КМ.

На fs.atol.ru / Программное обеспечение / ДТО / 10.х / существует файл «Работа с ФФД 1.2.pdf». В нём для JSON есть три блок-схемы взаимодействия с фискальником, во второй из них как раз используется метод «validateMarks».
В том же pdf есть пример, где параметр «validateMarkingCodes» в методе «sell» используется со значение «false», т.е. в этом методе уже не надо повторно выполнять проверку КМ, а только записать их чтобы фискальник передал их ОФД.

Ещё раз повторюсь, я сейчас только разбираюсь и потому уверенность в своих выводах не стопроцентная.

19.

slava_1c

23
21.01.22 17:44
Сейчас в теме

(18)Возможно JSON будет работать немного по другому, нежели команды.

У меня как раз и не получалось сначала ВСЕ проверить, а потом просто указать коды с признаком успешной валидации.

Поэтому я оставил построчную проверку и отправку внутри открытого чека.

Попробуйте — возможно в варианте JSON запроса все отработает как нужно. Удачи в тестировании!

20.

Dark_Warrior56
27.01.22 16:13
Сейчас в теме

(18) Скажите, вам удалось победить проверку КМ через json?)

22.

alexey-simf
03.02.22 18:03
Сейчас в теме

(20)
Хорошие примеры, позволяющие понять последовательность, нашёл в онлайн документации от атола (integration. и далее).
Слева выбрать «Работа с марками в ФФД 1.2» а справа смотреть примеры для «Python» или «Java»

23.

Dark_Warrior56
03.02.22 21:32
Сейчас в теме

(22) Спасибо, в мануал поглядываю. «validateMarkingCodes» не использовал, правда.
Подскажите, как вы кодируете КМ? Я беру полный КМ (с криптохвостом), меняю GS1 на символ(29) и перегоняю в Base64. КМ в таком виде нормально принимает тест маркировки в ДТО, но он же в json возвращается с ошибкой «409 Некорректный код маркировки».

24.

alexey-simf
04.02.22 11:03
Сейчас в теме

Это делает разработчик кассовой программы (на C#), но по сути так же, только без замены символов; всегда только полный код с криптохвостом.

Я сначала в тестовой утилите занимался отладкой JSON, а когда получилось полностью прогнать всю цепочку действий, тогда отдал эти JSONа разработчику кассовой программы.

В случае ругательств на некорректность КМ я всегда дополнительно проверял их в УТ 11: Закупки — Обмен с ИС МП — (см. также) Проверка кодов маркировки — получалось информативней. Причём как в base64, так и в чистом виде.

25.

Dark_Warrior56
08.02.22 13:29
Сейчас в теме

(24) Если что, проблема решилась добавлением в json параметра «validateMarkingCodes»: true и настройкой в драйвере «Для проверки КМ использовать прямой доступ к ФН-М». Это если кто-то забредет в эту ветку с аналогичной проблемой.

27.

alexey-simf
05.03.22 11:35
Сейчас в теме

(25) Вчера как раз столкнулся с проблемой. В тестовой утилите при установленной галочке про прямой доступ к ФН-М json-запрос возвращал корректный результат, а без этой галочки, была ошибка 402 на тему отсутствия связи (вчера с DNS-проблемы были в Крыму, а может и по всей РФ). В то же время, кассовое ПО, отправляя json-запрос драйверу через web-сервис всегда получало ошибку 402, словно упомянутая галочка игнорировалась 🙁

Добрый день! А подскажите, пожалуйста, один момент.
В целом в принципе то все понятно, но вот, что в Вашем примере:

validationResult = FR.getParamInt(FR.LIBFPTR_PARAM_MARKING_CODE_ONLINE_VALIDATION_RESULT);
FR.acceptMarkingCode();

что в примерах того же Атола, выходит, что Вы получаете результат проверки и сразу же делаете акцепт.
То есть акцепт никак не зависит от результатов проверки? А как же тогда это: » Если хоть один код маркировки не пройдет проверку, чек не нужно печатать — товар который не прошел проверку нужно заменить на другой.»

Тем более у Вас там таймаут есть при проверке, то есть КМ в принципе может даже не завершить еще проверку,
что тогда будет в validationResult? Ноль?

29.

slava_1c

23
15.03.22 13:23
Сейчас в теме

(28) Добрый день.

Смысл том что в цикле мы сначала запрашиваем статус функцией FR.getMarkingCodeValidationStatus();

и если переменная FR.LIBFPTR_PARAM_MARKING_CODE_VALIDATION_READY равна TRUE,

то тогда цикл прерывается и уже в переменную FR.LIBFPTR_PARAM_MARKING_CODE_ONLINE_VALIDATION_RESULT записывается результат проверки.

Цикл также может прерваться по таймауту, но в случае проверки одного кода — этого таймаута достаточно.

Т.е. проверка происходит в цикле выше, а не в конструкции getParamInt(FR.LIBFPTR_PARAM_MARKING_CODE_ONLINE_VALIDATION_RESULT);

(29) Я понимаю, что проверка происходит в цикле, но ведь то что переменная FR.LIBFPTR_PARAM_MARKING_CODE_VALIDATION_READY равна TRUE, означает, что проверка завершилась, но это ведь не означает, что она прошла успешно? Наверняка могут быть какие нибудь ошибки.
И опять же, что возвращается в этом параметре:

если цикл завершился по таймауту?

(29) Есть же кроме LIBFPTR_PARAM_MARKING_CODE_ONLINE_VALIDATION_RESULT еще и LIBFPTR_PARAM_MARKING_CODE_ONLINE_VALIDATION_ERROR, который возвращает ошибку онлайн проверки,
вот я и не могу понять, почему ни в Вашем примере ни в Атоловском это не проверяется

32.

slava_1c

23
15.03.22 14:53
Сейчас в теме

(31) Результат в любом случае, неуспешно по таймауту он завершился или же успешно устанавливается в переменную LIBFPTR_PARAM_MARKING_CODE_ONLINE_VALIDATION_RESULT в момент регистрации чека.

В любом случае, если результат не удовлетворительный, чек не пробьется по ошибке в момент регистрации

(32) А ну вот что то такое я подозревал, только не смог найти нигде подтверждения.
Спасибо большое. Пока не на чем было тестироваться, возможно завтра наконец привезут МГМ с ФФД 1.2
и тогда все станет окончательно ясно.

(32) да, прошу прощения за беспокойство еще раз,
остался еще один непонятный момент, метод writeSalesNotice
в документации числится для передачи уведомления о реализации товара,
а в Вашем примере его нет, он не обязателен?

35.

slava_1c

23
15.03.22 15:35
Сейчас в теме

По тексту в комментариях я указывал что тестировал и внедрял данный код на шинах и обуви

Для товарных групп: Шины, Легкая промышленность, Духи, Обувь, заполнять тег 1265 «Значение отраслевого реквизита» не требуется.

Если у Вас необходимо отправлять уведомление, то значит нужно выполнять этот метод.

(35) Понял, спасибо, у нас лексредства, сейчас буду узнавать для них

36.

alexey-simf
15.03.22 16:51
Сейчас в теме

Хочу поделиться новыми знаниями.

Ранее я приводил пример проверки массива кодов маркировки (validateMarks). Результат может быть двух видов (визуально, не обращая внимания на значения)

Если фискальник смог связаться с сервисом проверки кодов

Если фискальник НЕ смог связаться с сервисом проверки кодов

В обоих случаях ответ содержит секцию «itemInfoCheckResult».

В описании API на integration_atol_ru есть «Пример чека прихода (предварительная проверка маркированного товара под ФФД ≥ 1.2, передача кода маркировки)». Который, по сути, является примером использования метода «sell».
У этого метода есть параметр «items», содержащий данные строк. Для каждой строки может быть задано много параметров, но нам сейчас важен «imcParams». В этом объекте есть несколько параметров, среди которых есть «itemInfoCheckResult» (Результат проверки). Так вот, в случае регистрации чека («type»: «sell») при «validateMarkingCodes»: false (проверка КМ проводится заранее и не проводится в момент регистрации) в упомянутый чуть выше параметр строки «itemInfoCheckResult» следует передавать набор значений, полученный ранее при проверке КМ по массиву (validateMarks). Этот результат определяет какой вариант будет напечатан в чеке: М / М- / М+.

37.

slava_1c

23
15.03.22 17:32
Сейчас в теме

39.

alexey-simf
24.03.22 17:10
Сейчас в теме

(37) ну вроде так, если я правильно всё это понимаю.

Задавал вопрос в Атол:

Существует ли способ выполнить продажу маркированных духов если на кассе
временно отсутствует доступ в интернет?

конечно существует
послали запрос на проверку

получили статус «сервер ИСМ не отвечает»
с этим статусом и произвели регистрацию

40.

speedwagon33
04.04.22 23:46
Сейчас в теме

Можете пожалуйста помочь, уже всю голову сломал. Пытаюсь передать маркированные шины — все очень худо. Все время возвращается ошибка с неверной передачей кода маркировки. Код отсканирован через сканер. Но ошибка со стороны кассы летит и летит. В чем проблема?

41.

slava_1c

23
05.04.22 04:29
Сейчас в теме

(40) Слишком мало информации.

1. Какой код ошибки и описание ошибки?
2. Какой-то конкретный код не передается, а остальные передаются? Если да, то его желательно показать
3. Что пишет лог кассы?
4. Пользуетесь для передачи программным кодом из публикации или чем-то другим?

42.

speedwagon33
05.04.22 07:17
Сейчас в теме

(41)1) Возвращает код ошибки 409 — неверная маркировка. При попытке проверить валидность кода в цикле пишет что код не найден в КМ. 422 вроде бы ошибка
2)Тестировал на двух кодах — оба не передаются
3)Лог могу куда нибудь в мессенджер прислать
4)Использую почти полностью код твой, только момент подключения к ККМ другой. Там стучит по tcpip, но думаю это не принципиально, связь с кассой есть.

43.

speedwagon33
05.04.22 08:43
Сейчас в теме

(41) Пример кода:

Лог кассы возвращает:

Уже попробовал даже в 64Base передать — всё равно безуспешно. Лог уже набился на 600 мб от таких манипуляций 🙂

44.

speedwagon33
05.04.22 08:44
Сейчас в теме

(41)
При регистрации чека следующее в логе:

45.

rinat_az

25
05.04.22 09:58
Сейчас в теме

На лекарствах такой вариант почему то не проходит, поэтому я загоняю код через setParamStrHex в hex-ах.
Но вопрос по тегу 1261 (отраслевой стандарт ) если в одном чеке и лекарства и молоко и вода. кто нибудь в курсе как быть? в ФФД 1.1 mdlp указывается для конкретно позиции, т.е. все понятно, а в ФФД 1.2 он же на весь чек..

46.

speedwagon33
05.04.22 11:40
Сейчас в теме

(45) Выше ныл, разобрался в чём дело. Нужно правильно расставить непечатаемые символы. Все дело исключительно в них. Не обязательно в 16СС всё это дело переводить.
У меня вопрос с шинами стоял.
Нужно смотреть лог — сейчас в логе корректно начали проставляться символы 29 — до этого криво прилетало.

Как то так у меня это выглядит, так же как и у ТС

48.

slava_1c

23
05.04.22 14:02
Сейчас в теме

(46) Прекрасно, что разобрались, поздравляю. Кстати, для проверки работы сканера на самом сайте Честного знака есть специальный сервис проверки. Если сканер подключен как эмулятор клавиатуры — сначала нужно проверить сканирование на нем.
У клиента были сканеры, которые просто не считывали спецсимволы.

47.

speedwagon33
05.04.22 11:41
Сейчас в теме

(45) В ФФД 1.2 убрали поддержку ТЭГа 1261, сами только вчера на новый формат данных перешли.

49.

rinat_az

25
06.04.22 08:42
Сейчас в теме

50.

slava_1c

23
06.04.22 12:51
Сейчас в теме

(49) Как написано в самом АТОЛе
«В уведомление о реализации товара с КМ также можно передать данные о реализации маркированного товара с помощью метода writeSalesNotice(), который принимает параметры:
1228 — ИНН клиента
1261 — отраслевой реквизит чека (можно несколько)» Т.е. несколько допустимо

51.

Tarlich

6
12.04.22 20:43
Сейчас в теме

Просьба пример цикла когда несколько товаров (и не весь маркируемый)
и если можно пример когда когда продаем количество меньше одного (т.е вскрыли пачку и продаем частями , то все равно должны указать марку)

52.

slava_1c

23
15.04.22 04:24
Сейчас в теме

все коды проверили, если все акцептовалось — дальше уже цикл самой продажи.

Продажа меньше одного — это, я так понимаю, работа с SSCC кодами упаковок и агрегацией. По идее вложенные на этапе упаковки конечные коды маркировки должны без проблем пробиваться при продаже поштучно через ККМ.

53.

Бит

3
05.05.22 08:05
Сейчас в теме

Может кто подскажет, не удаётся проверить марку пачки сигарет (в том числе и драйвером атола) как пример qr — 04640030090846KjbdAiJ
base64 — MDQ2NDAwMzAwOTA4NDZMNTtValdI
MarkingCode — HTA0NjQwMB0zMDA5MDg0NktqYmRBaUo=
Заранее большое человеческое спасибо

54.

slava_1c

23
05.05.22 08:39
Сейчас в теме

Не занимаюсь сигаретами, но ради интереса на пачке отсканировал код — 00000046206008NWqX<Q<AC68mC3I

Он в ЧЗ без проблем бьется

Может наведет на мысль.

У вас в примере какой то очень короткий получается. И не бьется естественно.

55.

Бит

3
05.05.22 15:53
Сейчас в теме

В том то и дело, что проверка пачки через честный знак проходит (сама пачка получена через запрос о составе блока), но проверка не проходит не в 1с, не в драйвере атола, вот и удумаю где косяк в драйвере атола (релизе прошивки или самом драйвере) или в алгоритме преобразования MarkingCode. Думал может кто проверит и даст какой у него получается MarkingCode на рабочей базе в которой отправляются марки. Это хоть как то сузит разброс возможных проблем. Сами атоловцы отправили в драйвер и все на этом.

56.

Бит

3
12.05.22 02:43
Сейчас в теме

(54) да Вы оказались правы, проблема в отсутствии криптохвоста у марки пачки (так как сами марки получаются через запрос содержимого блока) через ЧЗ, а он возвращает без криптохвоста. Может кто сталкивался с проблемой пробития ффд 1.2 марки без криптохвоста. Или это безвыходная ситуация?

57.

slava_1c

23
12.05.22 06:58
Сейчас в теме

(56)Да в том то и дело, что при проверке подразумевается полный код с криптохвостом. Однако, выше по сообщениям (36) описан алгоритм без проверки кодов. Можно попробовать копнуть туда.

58.

balirinka
18.05.22 17:16
Сейчас в теме

59.

пользователь
03.06.22 21:23

60.

пользователь
04.06.22 16:06

Добрый день. Тоже мучаюсь с кодом маркировки шин. Можно пример корректного КМ из файла логов. Уже голову сломал что нужно еще докрутить чтобы Код прошел проверку.

Приходит ответ что КМ имеет некорректный формат
Вот код маркировки из логово
010467018882925021xpFnolGDIAy9p91EE0692aTIUIotYb7jKc0OBacg­­OKUkJyRAlnsUB/0rAiHfzFUk=

Я правильно понимаю:

Откуда берется часть кода «91EE06»? Или это константа и всегда принимает такое значение?

63.

slava_1c

23
09.06.22 13:49
Сейчас в теме

65.

elenikiti
04.07.22 12:18
Сейчас в теме

Добрый день. Самописная конфигурация на 77. Работаем пока в тестовом контуре.
При печати чека с одним кодом всё ОК. При попытки пробить два товара с КМ на втором товаре ошибка:
Ответ 26 Ошибка Неверный формат команды
Проверяю КМ в цикле по товарам. Чек уже открыт.
Посоветуйте пожалуйста, что с этим делать?

66.

slava_1c

23
04.07.22 17:29
Сейчас в теме

Первым делом посмотрите в логе ККМ — что вызвало ошибку.

В 90% случаев — ошибка становится ясна.

Также напомню то, что говорил выше: проверка товаров на предмет валидации кодов

должна проводиться непосредственно перед отправкой строки чека на регистрацию

67.

elenikiti
05.07.22 09:09
Сейчас в теме

68.

elenikiti
05.07.22 09:26
Сейчас в теме

Все ваши рекомендации внимательно прочитала.
Добилась того, что чек с одним КМ печатается.
Но при попытки пробить два товара с КМ получаю ошибку.

69.

slava_1c

23
05.07.22 14:29
Сейчас в теме

А у Вас. получается, на кассовом оборудовании не ФФД1.2?

Я смотрю посылается короткий код. В ФФД1.2 обязательно длинный.

И если производится проверка, то должна быть последовательность — начало проверки, валидация, и в момент списания — акцепт.

У Вас в коде этих запросов нет.

70.

elenikiti
06.07.22 11:14
Сейчас в теме

ФФД 1.2
КМ короткие, такие дал тестовый контур ЧЗ.
Может запросы выше в логе остались?
Файл прикладываю, буду благодарна за помощь.

71.

slava_1c

23
06.07.22 16:07
Сейчас в теме

В приложенном файле нет ни одного чека, подозреваю, что это сегодняшний лог и в нем не было никаких транзакций по типу libfptr_open_receipt

72.

elenikiti
07.07.22 11:37
Сейчас в теме

73.

slava_1c

23
07.07.22 12:48
Сейчас в теме

(72) Странно, в логе, который Вы ранее показывали — у вас строки

А в коде:

Объект.setParam(1212, ПризнакНаличияКМ);
//параметр для ФФД 1.2!!! 32 — товар не имеющий код маркировки, 33 — товар имеющий код маркировки

т.е, 1212 = 33

А строк где 1214=4 и registration() НЕТ ВООБЩЕ!

Это, кстати дает ответ на вопрос почему не проходит когда две строки.

Внимательно изучите вот тут — это практически Ваш код

74.

elenikiti
07.07.22 13:33
Сейчас в теме

Я натыкалась на это противоречие, но решила, что так и нужно:
1212 Признак предмета расчета int Все

75.

elenikiti
07.07.22 13:34
Сейчас в теме

fptr.setParam(Constants.LIBFPTR_PARAM_TAX_TYPE, Constants.LIBFPTR_TAX_VAT10);
fptr.setParam(1212, 33);
fptr.setParam(1214, 4);
fptr.setParam(1260, industryInfo);

76.

elenikiti
07.07.22 13:38
Сейчас в теме

Получается с КМ нужно использовать новые значения этого параметра, 32 или 33.

77.

elenikiti
07.07.22 13:54
Сейчас в теме

Регистрация там есть, просто зацепила, когда подчищала код от комментов:

78.

slava_1c

23
07.07.22 13:55
Сейчас в теме

Увидел ответ по поводу регистрации.

79.

elenikiti
07.07.22 14:04
Сейчас в теме

Пока и с одной строкой не проходит печать.

80.

elenikiti
07.07.22 14:28
Сейчас в теме

Не понимаю. В какой-то момент сверка КМ делалась, не смотрю на то, что они короткие. Хотя бы 5-ку в статус я получала. Пусть с одним КМ, но чек хотя бы начинал печататься. Теперь и этого нет (((
Я переписала алгоритм. Сначала проверяю КМ, запоминаю ответ. Потом заново перебираю таблицу товаров.
Но это пока не помогло. Чек аннулируется т.к. не проходит проверку КМ.

81.

slava_1c

23
07.07.22 14:33
Сейчас в теме

Ошибок в процессе вывода чека никаких быть не должно — начните с этого

82.

slava_1c

23
07.07.22 14:39
Сейчас в теме

И вот тут
Объект.getParamBool(Объект.LIBFPTR_PARAM_MARKING_CODE_VALIDATION_READY);

Я бы задержку поставил.

А то в логе 100500 вызовов

83.

elenikiti
07.07.22 15:01
Сейчас в теме

Это вот это место:

Вызовов много, так как жду ответа 100 секунд. Задержку в плане sleep() ?

84.

slava_1c

23
07.07.22 15:11
Сейчас в теме

Да можно хоть пустым циклом))

85.

slava_1c

23
07.07.22 15:15
Сейчас в теме

И все-таки на мой взгляд неправильно посылать в ФФД1.2 короткий код без симоволов GS1, хоть это и тестовый контур.

В том же примере с АТОЛа код вполне себе длинный.

86.

elenikiti
07.07.22 15:32
Сейчас в теме

Я попыталась создать в тестовом контуре свой КМ, не дали! Требуют длину 12 символов ((

87.

slava_1c

23
07.07.22 16:01
Сейчас в теме

Попробуйте коды которые у вас имеются отсканировать и передать в тестовый контур.

88.

SeTIrk
20.07.22 09:15
Сейчас в теме

Не могу сообразить как должна выглядеть регистрация для нескольких КИЗ в 1 строке.

// для каждого киз
fptr.beginMarkingCodeValidation()
fptr.getMarkingCodeValidationStatus()
// ну и какую-то проверку что статус корректный.

// фиксируем кизы
fptr.acceptMarkingCode()

// открываем чек
fptr.openReceipt();

// вот тут не понятно, как их все передать?
fptr.setParam(Constants.LIBFPTR_PARAM_MARKING_CODE, mark);

89.

SeTIrk
20.07.22 11:01
Сейчас в теме

(88) Нашел на форуме атола: «один штук — одна позиция
так велит ФФД»

90.

SeTIrk
20.07.22 13:21
Сейчас в теме

91.

SeTIrk
21.07.22 07:37
Сейчас в теме

92.

Morikpro
26.07.22 23:07
Сейчас в теме

Отличная подсказка , автору спасибо !

93.

m1_1976

2
08.09.22 12:26
Сейчас в теме

Для тех кто мучается с короткой маркой (короткая марка)

Пример: У нас только молочная продукция. 31 символ в марке.
Вот такое преобразование делаю :

КМ = Лев(ПодготовленныйШК, 24) + Разделитель + Сред(ПодготовленныйШК, 25);

То есть тот самый GS1 должен быть 25 символом

P.S.
Спасибо сообщению (63)

все понятно какие марки как ждет.

94.

alexey-simf
19.09.22 10:11
Сейчас в теме

(93) Вдруг кто-то столкнётся.

Задавал вопрос в ЧЗ:

Получается, что длина кода маркировки молочной продукции может быть не только 31, но и 33 символа.

P.S. ссылка, присланная ЧЗ, редиректит на сторонний комерческий сайт. Надеюсь, это не станет поводом для её удаления. Других источников, быстро, беспалтно и с полным текстом решения, я не нашёл.

95.

Xeromant

6
05.11.22 13:53
Сейчас в теме

Здравствуйте. А есть пример кода для продажи маркированного товара в офлайн режиме?
Какими значениями заполнять
LIBFPTR_PARAM_MARKING_WAIT_FOR_VALIDATION_RESULT
LIBFPTR_PARAM_MARKING_PROCESSING_MODE
LIBFPTR_PARAM_MARKING_CODE_ONLINE_VALIDATION_RESULT

96.

slava_1c

23
08.11.22 11:27
Сейчас в теме

(95) Добрый день.

Лично сам в офлайн режиме продавать маркированный товар никогда не пробовал.

В данном обсуждении с 36 по 39 пост посмотрите.

97.

basil_m
10.11.22 15:45
Сейчас в теме

Добрый день. Подскажите, при возврате маркированного товара для ффд1.2 алгоритм тот же?

98.

slava_1c

23
10.11.22 16:21
Сейчас в теме

ВидЧека — «ВОЗВРАТ» и все.

99.

basil_m
17.02.23 10:33
Сейчас в теме

Про мини ПК:  6 приложений, позволяющих смотреть ТВ-каналы на вашем смартфоне - Лайфхакер
Оцените статью
Карман PC
Добавить комментарий