Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
finsoftrz писал(а): ↑25 Март 2024, 8:34
...надо в кассовом ПО выполнить проверку набора реквизитов марки в ЧЗ через http запрос. В определенных случаях запретить продажу. При успешном прохождении проверки передать в ккм набор реквизитов (несколько тегов), включая id запроса на проверку и временной штамп этого запроса.
Если кратко, ситуация такая.
С 01.04 вводят разрешительный режим для табачных и разливного пива. Далее постепенно и для других групп маркированных товаров.
При сканировании марки на кассе надо проверить ее в ЧЗ (http запрос), сохранить ид и время запроса (которые вернутся из ЧЗ в ответ) и передать их на ккм в составном теге. Токен для http запроса пока фиксированный для фирмы (ИНН) на год, его проще всего скачать в личном кабинете ЧЗ. Потом хотят ввести криптование, что потребует установок на кассах сертификатов и крипт-про (или как-то выкручиваться со своим промежуточным сервисом).
Http запрос надо отправлять не на фиксированный адрес, а использовать набор адресов. Вначале надо запросить список актуальных адресов, для каждого адреса сделать проверку доступности, замерить время ответа. Отсортировать эти адреса, начиная с минимального времени отклика и сохранить в программе для последующей проверки марок. Получать заново список адресов надо примерно раз в 6 часов, так как этот список меняется.
Если при попытке проверки марки возвращается ответ, что сервер перегружен, то надо на 15 минут исключить использование этого адреса. Если достучаться до первого по приоритету адреса не удается, то переходим к следующему и т.д.
Надо также предусмотреть режим аварийного отключения проверок совсем. Разумеется, перестраховываются, иначе могут встать продажи в магазинах по всей стране.
После 01.04 грозят штрафами тому, кто не использует разрешительный режим на кассах. По практике, после ввода какого-нибудь новшества 3 месяца дают на запуск. Скорее всего, нагнетают, чтобы народ не расслаблялся.
Кто будет бодаться с передачей составного тега 1260 на штрихах. У них этот тег формируется на стороне ккм, а передавать надо по отдельности вложенные теги 1262, 1263, 1264, 1265 через FNSendTagOperation (после FNOperation).
На штрихах еще одна проблема есть, может, кто сталкивался. Передаем тег 1262 стандартно как строку:
Ещё такой момент. С 01.04 должен перестать работать адрес сервиса, через который проверяем просрочку. Вместо него вводится пул адресов, про который я написал выше. Сразу с 01.04 может и не отключат, но иметь надо ввиду, что нововведения касаются также и продаж молочки.
В конце года было постановление по поводу разрешительного режима продаж с указанием сроков по разным товарным группам. Проще всего погуглить. В сети есть и записи вебинаров разных производителей софта.
finsoftrz писал(а): ↑29 Март 2024, 8:26
Несколько постов выше Сергей дал.
Привет Всем!
Информацию собирал читая самые разные форумы - при передаче марки (в частности "разливного пива") без передачи составного тега 1262-1265, даже если все остальные параметры передаваемой маркировки верные и без отключения(!) проверки марки (опять же это именно для "разливного пива") в ЧЗ не происходит списание. +Важно дату в этом составном теге передавать с типом строковым (хотя не совсем логично, новерное) - иначе тоже проблема
А в результате уходит значение не '030', а '30'. Как-будто происходит преобразование строки в число. Думал, что ошибка в драйвере или в прошивке, но в техподдержке Штриха сказали, что у них аналогичный код (в другом ЯП) отрабатывает корректно, и это скорее кларионовский компилятор преобразует строку в число. С чего бы это он будет такое преобразование делать, но а вдруг... Проверил, другие строки с числом, начинающимся с 0, тоже обрезаются. Если есть не числовой символ, то передается корректно.
В общем, нашел путь обхода через FNSendTLVOperation. Но причина обрезания лидирующего нуля так и осталась непонятной. Неужели правда кларин компилятор при работе через ole интерфейс такое вытворяет?
finsoftrz писал(а): ↑04 Апрель 2024, 16:48
Неужели правда кларин компилятор при работе через ole интерфейс такое вытворяет?
Может ещё зависить и от версии драйвера ... У меня сейчас штриха нет, но насколько я помню,
ни при печати штрих-кодов, ни в текстовых строках лидирующие не съедались. Попробуйте:
Object{'StringForPrinting'} = '030'
или
Object{'TagValueStr'}='0' & '3' & '0' ! По аналогии как неявное преобразование типов данных W &= SYSTEM{PROP:TARGET} + 0
Да вот я тоже про драйвер/прошивку сразу подумал. Но в техподдержки штриха сказали, что я единственный, кто с такой проблемой обратился.
Может еще от версии кларионовского компилятора зависеть, я на это напоролся на с63.
Кстати, техподдержка у штриха сработала очень хорошо. Я им на сайте написал, буквально через минуту меня прозвонили по телефону и дальше вполне конструктивный диалог по электронной почте. Видно было, что попал на вполне адекватных ребят.