Страница 46 из 46

Взять кассу

Добавлено: 25 Март 2024, 20:17
SergioRaguzini
finsoftrz писал(а): 25 Март 2024, 8:34 ...надо в кассовом ПО выполнить проверку набора реквизитов марки в ЧЗ через http запрос. В определенных случаях запретить продажу. При успешном прохождении проверки передать в ккм набор реквизитов (несколько тегов), включая id запроса на проверку и временной штамп этого запроса.
Привет Всем!
нашел в интернете рекомендации https://xn--80ajghhoc2aj1c8b.xn--p1ai/u ... 0%BD_2.pdf

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

Взять кассу

Добавлено: 27 Март 2024, 12:19
finsoftrz
Если кратко, ситуация такая.
С 01.04 вводят разрешительный режим для табачных и разливного пива. Далее постепенно и для других групп маркированных товаров.
При сканировании марки на кассе надо проверить ее в ЧЗ (http запрос), сохранить ид и время запроса (которые вернутся из ЧЗ в ответ) и передать их на ккм в составном теге. Токен для http запроса пока фиксированный для фирмы (ИНН) на год, его проще всего скачать в личном кабинете ЧЗ. Потом хотят ввести криптование, что потребует установок на кассах сертификатов и крипт-про (или как-то выкручиваться со своим промежуточным сервисом).
Http запрос надо отправлять не на фиксированный адрес, а использовать набор адресов. Вначале надо запросить список актуальных адресов, для каждого адреса сделать проверку доступности, замерить время ответа. Отсортировать эти адреса, начиная с минимального времени отклика и сохранить в программе для последующей проверки марок. Получать заново список адресов надо примерно раз в 6 часов, так как этот список меняется.
Если при попытке проверки марки возвращается ответ, что сервер перегружен, то надо на 15 минут исключить использование этого адреса. Если достучаться до первого по приоритету адреса не удается, то переходим к следующему и т.д.
Надо также предусмотреть режим аварийного отключения проверок совсем. Разумеется, перестраховываются, иначе могут встать продажи в магазинах по всей стране.
После 01.04 грозят штрафами тому, кто не использует разрешительный режим на кассах. По практике, после ввода какого-нибудь новшества 3 месяца дают на запуск. Скорее всего, нагнетают, чтобы народ не расслаблялся.

Взять кассу

Добавлено: 28 Март 2024, 13:56
finsoftrz
Кто будет бодаться с передачей составного тега 1260 на штрихах. У них этот тег формируется на стороне ккм, а передавать надо по отдельности вложенные теги 1262, 1263, 1264, 1265 через FNSendTagOperation (после FNOperation).
На штрихах еще одна проблема есть, может, кто сталкивался. Передаем тег 1262 стандартно как строку:

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

          SELF.Contr{'password'}         = SELF.Pswd
          SELF.Contr{'TagType'}=7
          SELF.Contr{'TagNumber'}=1262
          SELF.Contr{'TagValueStr'}='030'
          SELF.Contr{'FNSendTagOperation()'}
А в ОФД приходит значение 30, первый ноль кто-то обрезается. Прошивка, драйвер или кларион. Соответственно, в ОФД светится, что чек с ошибкой.

Взять кассу

Добавлено: 29 Март 2024, 8:08
finsoftrz
Ещё такой момент. С 01.04 должен перестать работать адрес сервиса, через который проверяем просрочку. Вместо него вводится пул адресов, про который я написал выше. Сразу с 01.04 может и не отключат, но иметь надо ввиду, что нововведения касаются также и продаж молочки.

Взять кассу

Добавлено: 29 Март 2024, 8:14
Игорь Столяров
А можно ссылочку где почитать про пул адресов ? Спасибо !

Взять кассу

Добавлено: 29 Март 2024, 8:26
finsoftrz
Несколько постов выше Сергей дал.

Взять кассу

Добавлено: 29 Март 2024, 8:45
Игорь Столяров
Понятно. Т.е. кроме списка изменений с несколькими пунктами, официальных данных нет ...

Взять кассу

Добавлено: 29 Март 2024, 9:07
finsoftrz
В конце года было постановление по поводу разрешительного режима продаж с указанием сроков по разным товарным группам. Проще всего погуглить. В сети есть и записи вебинаров разных производителей софта.

Взять кассу

Добавлено: 29 Март 2024, 9:11
SergioRaguzini
finsoftrz писал(а): 29 Март 2024, 8:26 Несколько постов выше Сергей дал.
Привет Всем!
Информацию собирал читая самые разные форумы - при передаче марки (в частности "разливного пива") без передачи составного тега 1262-1265, даже если все остальные параметры передаваемой маркировки верные и без отключения(!) проверки марки (опять же это именно для "разливного пива") в ЧЗ не происходит списание. +Важно дату в этом составном теге передавать с типом строковым (хотя не совсем логично, новерное) - иначе тоже проблема

Взять кассу

Добавлено: 04 Апрель 2024, 15:34
finsoftrz
А со штрихами кто-нибудь работает?

Взять кассу

Добавлено: 04 Апрель 2024, 16:16
finsoftrz
Собственно, хотел спросить, фантасмагория какая-то. Делается (на штрихах) вроде стандартная установка реквизита через ole интерфейс:

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

      SELF.Contr{'TagNumber'}=1262
      SELF.Contr{'TagType'}=7
      SELF.Contr{'TagValueStr'}='030'
      SELF.Contr{'FNSendTagOperation()'}
А в результате уходит значение не '030', а '30'. Как-будто происходит преобразование строки в число. Думал, что ошибка в драйвере или в прошивке, но в техподдержке Штриха сказали, что у них аналогичный код (в другом ЯП) отрабатывает корректно, и это скорее кларионовский компилятор преобразует строку в число. С чего бы это он будет такое преобразование делать, но а вдруг... Проверил, другие строки с числом, начинающимся с 0, тоже обрезаются. Если есть не числовой символ, то передается корректно.

Взять кассу

Добавлено: 04 Апрель 2024, 16:48
finsoftrz
В общем, нашел путь обхода через FNSendTLVOperation. Но причина обрезания лидирующего нуля так и осталась непонятной. Неужели правда кларин компилятор при работе через ole интерфейс такое вытворяет?

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

      loc:tegNum=SELF.ShtrihReverseBytes(ShortToHex(1262,0))
      loc:teg=FsStrToHex('030')
      loc:tegDl=SELF.ShtrihReverseBytes(ShortToHex(int(len(clip(loc:teg))/2),0))
      SELF.Contr{'password'}   = SELF.Pswd
      SELF.Contr{'TLVDataHex'} = clip(loc:tegNum) & clip(loc:tegDl) & clip(loc:teg)
      SELF.Contr{'FNSendTLVOperation'}      

Взять кассу

Добавлено: 04 Апрель 2024, 18:23
Игорь Столяров
finsoftrz писал(а): 04 Апрель 2024, 16:48 Неужели правда кларин компилятор при работе через ole интерфейс такое вытворяет?
Может ещё зависить и от версии драйвера ... У меня сейчас штриха нет, но насколько я помню,
ни при печати штрих-кодов, ни в текстовых строках лидирующие не съедались. Попробуйте:

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

  Object{'StringForPrinting'} = '030'
  или
  Object{'TagValueStr'}='0' & '3' & '0'  ! По аналогии как неявное преобразование типов данных  W &= SYSTEM{PROP:TARGET} + 0

Взять кассу

Добавлено: 04 Апрель 2024, 18:48
finsoftrz
Да вот я тоже про драйвер/прошивку сразу подумал. Но в техподдержки штриха сказали, что я единственный, кто с такой проблемой обратился. :-)
Может еще от версии кларионовского компилятора зависеть, я на это напоролся на с63.
Кстати, техподдержка у штриха сработала очень хорошо. Я им на сайте написал, буквально через минуту меня прозвонили по телефону и дальше вполне конструктивный диалог по электронной почте. Видно было, что попал на вполне адекватных ребят.