91h ошибка fnoperation

Ошибка при выводе чека ККМ в 1С 8: 36h, Ошибка FNOperation: Некорректные параметры в команде для данной реализации

Описание ошибки:
Ошибка возникла внезапно. Т.е. до ее возникновения чеки ККМ печатались. При попытке печати чека ККМ в частности из документа «Оплата от покупателя платежной картой» конфигурации 1С: Управление торговлей 10.3 возникала эта ошибка для отдельно взятого документа, на основании которого документ оплаты был создан.

Найденные решения:

Судя по ошибке — она носит «универсальный» характер, т.е. может возникнуть в любой другой конфигурации 1С, в которой поддерживается работа с торговым оборудованием и ККМ в частности. Поэтому не обращайте внимание на то, что пример приводится в редакции 10.3 управления торговлей. Многие из перечисленных настроек есть и в новой редакции 11.4, и других типовых конфигурациях, поэтому останется только их найти.

Перейдем к сути. Печать чеков работала до определенного момента, когда стала не возможным по причине возникновения ошибки «36h, Ошибка FNOperation: Некорректные параметры в команде для данной реализации». По предварительным предположениям, учитывая, что в документе из ссылок на документы — только заказ покупателя, то при чем тут реализация? Можно подумать, что реализацией при описании ошибки назван любой документ-основание, содержащий данные для печати чека. Тогда, возможно, надо искать причину в самом документе заказ покупателя. Но визуально содержимое выглядело «как всегда», как и в ранее созданных документах, для которых печать чека был выполнен успешно.

1C 8, при печати, выводе чека ккм, 36h, Ошибка FNOperation: Некорректные параметры в команде для данной реализации
Рис. 1. Возникновение ошибки после нажатия на кнопку «Пробить чек» в форме документа «Оплата от покупателя платежной картой».

Ошибка не часто, но встречаемая. Чтобы попытаться понять суть ошибки в соответствии с первыми комментариями обсуждения ошибки на форуме infostart.ru о том, что нужно проанализировать лог кассы, было включено ведение файла .log.

Нажатие на изображении увеличит его
ошибка при пробитии чеков в 1С 8, онлайн касса 36h, ошибка FNoperation
Рис.2. Включение ведения лога в параметрах кассы ККМ в диалоге подключения и настройки торгового оборудования.

После включения настройки «вести лог» на вкладка «Настройка лога» в параметрах ККТ с передачей данных необходимо настроить путь к логу в настройках драйвера.

Нажатие на изображении увеличит его
ошибка при пробитии чека в 1с 8 УТ, управление торговлей, БП, бухгалтерия, КА, комплексная, выдает ошибку 36h fnoperation
Рис. 3. Настройка пути размещения файла лога .log в драйвере ККМ.

Анализ полученного лога после его формирования оказался достаточно проблематичным, т.к. содержал просто огромное количество строк, проанализировать которые без постоянного опыта обслуживания торгового оборудования, не представлялось возможным. Только было отмечено благодаря логу, что после возникшей ошибки, т.е. неудачной попытки печати чека, касса в среде 1С становилась недоступной. Тест подключения возвращал ошибку FFFFFFF8h, connect timed out.

1С 8, устранение, исправление, ошибка кассы штрих-м, Retail 01Ф, 36h fnoperation
Рис. 4. Ошибка «Тест не пройден. FFFFFFF8h, Connect timed out.» после возникновения ошибки «36h, Ошибка FNOperation: Некорректные параметры в команде» в сеансе работы 1С 8.

Но вернуть подключение 1С 8 к кассе ккм позволяло завершение сеанса работы и запуск 1С снова.

1С 8, ошибка 36h, некорректные параметры в команде для данной реализации, ккм штрих-м, Retail 01Ф
Рис. 5. Пример успешного выполнения теста подключения торгового оборудования в форме оборудования.

Но от этого проблема не решалась. Лишь возобновилась возможность снова и снова получать ошибку «36h, Ошибка FNOperation: Некорректные параметры в команде…» при попытке вывести чек для операции безналичной оплаты.

На форуме mista.ru в обсуждении под темой При пробитии чека в 1с УТ ред.11 выдает ошибку 36h предлагалось проверить наличие скидок в документе — они отсутствовали. Так же предлагалось в сумбурной формулировке настроить разбиение строк на 2.

Этого оказалось недостаточно. Окончательную ясность для формулировки «настроить разбиение строк» внесли статьи Ошибка на кассе 36h Штрих и Сумма налога больше суммы регистраций по чеку и/или итога (Атол). УТ 10.3 о том, чтобы изменить «способ форматно-логического» контроля в настройках элемента справочника «Торговое оборудование». Для этого нужно перейти в форму списка справочника «Торговое оборудование» через кнопку «…» ячейки строки колонки «Модель» формы обработки «Подключение и настройка торгового оборудования». 

Нажатие на изображении увеличит его
1С 8, как устранить, убрать, исправить ошибку при пробитии, выводе, печати чека ккм, 36h, ошибка FNOperation: некорректные параметры в команде для   данной реализации
Рис. 6. Порядок перехода к настройке «способ форматно-логического контроля» справочника «Торговое оборудование» в конфигурации 1С: Управление торговлей 8, ред. 10.3, Комплексная автоматизация 1.1

Установка значения «Разделять строки» для настройки «способ форматно-логического контроля» в форме элемента справочника «Торговое оборудование» позволило восстановить дальнейшую работу механизма печати чеков ккм для безналичных оплат.

1C 8, способ форматно-логческого контроля, разделять строки, чтобы устранить, убрать, исправить ошибку, 36h, ошибка FNOperation: Некорректные параметры
Рис. 7. Рабочая настройка способа форматно-логического контроля в значении «Разделять строки» для обхода ошибки «36h, Ошибка FNOperation: Некорректные параметры»

К слову, в других конфигурациях, работающих в режиме управляемого приложения, порядок действий примерно такой же. Переходим в раздел «Администрирование» (или «НСИ и Администрирование» в зависимости от типового решения 1С 8) — «Подключаемое оборудование» — откроется вкладка «Подключение и настройка оборудования». Устанавливаем тип оборудования в значение «ККТ с передачей данных». В списке правой кнопкой мыши для строки нужной модели вызываем контекстное меню и в нем выбираем пункт «Изменить» или, выделив строку, нажимаем клавишу «F2» клавиатуры. В открывшемся окне разворачиваем группу формы «Параметры ККТ» и изменяем значение настройки «способ форматно-логического контроля».

Нажатие на изображении увеличит его
1C 8, где находится настройка способ форматно-логического контроля оборудования в УТ 11, КА 2, БП 3
Рис. 8. На примере конфигурации базы 1С: Бухгалтерия 3.0 показан доступ к настройке способ форматно-логического контроля в списке «Подключение и настройка оборудования» для баз, работающих в режиме управляемого интерфейса.

Таким образом, получается, что драйвер торгового оборудования при такой настройке, если не возможно рассчитать точную сумму по допустимому расхождению, то будет выполнено округление цен по строкам. Одна строка будет  округляться «вверх», а другая – «вниз». И при таком подходе будет выполнено требование, чтобы итоговая сумма была одинаковой, даже при некоторых небольших изменениях стоимости отдельных товаров, например, за счет скидок или дробных значений количества товаров.

Оцените, помогло ли Вам предоставленное описание решения ошибки?




© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

21-10-2021

Журавлев А.С.
(Сайт azhur-c.ru)

Ошибка при выводе чека ККМ в 1С 8: 36h, Ошибка FNOperation: Некорректные параметры в команде для данной реализации

Описание ошибки:
Ошибка возникла внезапно. Т.е. до ее возникновения чеки ККМ печатались. При попытке печати чека ККМ в частности из документа «Оплата от покупателя платежной картой» конфигурации 1С: Управление торговлей 10.3 возникала эта ошибка для отдельно взятого документа, на основании которого документ оплаты был создан.

Найденные решения:

Судя по ошибке — она носит «универсальный» характер, т.е. может возникнуть в любой другой конфигурации 1С, в которой поддерживается работа с торговым оборудованием и ККМ в частности. Поэтому не обращайте внимание на то, что пример приводится в редакции 10.3 управления торговлей. Многие из перечисленных настроек есть и в новой редакции 11.4, и других типовых конфигурациях, поэтому останется только их найти.

Перейдем к сути. Печать чеков работала до определенного момента, когда стала не возможным по причине возникновения ошибки «36h, Ошибка FNOperation: Некорректные параметры в команде для данной реализации». По предварительным предположениям, учитывая, что в документе из ссылок на документы — только заказ покупателя, то при чем тут реализация? Можно подумать, что реализацией при описании ошибки назван любой документ-основание, содержащий данные для печати чека. Тогда, возможно, надо искать причину в самом документе заказ покупателя. Но визуально содержимое выглядело «как всегда», как и в ранее созданных документах, для которых печать чека был выполнен успешно.

1C 8, при печати, выводе чека ккм, 36h, Ошибка FNOperation: Некорректные параметры в команде для данной реализации
Рис. 1. Возникновение ошибки после нажатия на кнопку «Пробить чек» в форме документа «Оплата от покупателя платежной картой».

Ошибка не часто, но встречаемая. Чтобы попытаться понять суть ошибки в соответствии с первыми комментариями обсуждения ошибки на форуме infostart.ru о том, что нужно проанализировать лог кассы, было включено ведение файла .log.

Нажатие на изображении увеличит его
ошибка при пробитии чеков в 1С 8, онлайн касса 36h, ошибка FNoperation
Рис.2. Включение ведения лога в параметрах кассы ККМ в диалоге подключения и настройки торгового оборудования.

После включения настройки «вести лог» на вкладка «Настройка лога» в параметрах ККТ с передачей данных необходимо настроить путь к логу в настройках драйвера.

Нажатие на изображении увеличит его
ошибка при пробитии чека в 1с 8 УТ, управление торговлей, БП, бухгалтерия, КА, комплексная, выдает ошибку 36h fnoperation
Рис. 3. Настройка пути размещения файла лога .log в драйвере ККМ.

Анализ полученного лога после его формирования оказался достаточно проблематичным, т.к. содержал просто огромное количество строк, проанализировать которые без постоянного опыта обслуживания торгового оборудования, не представлялось возможным. Только было отмечено благодаря логу, что после возникшей ошибки, т.е. неудачной попытки печати чека, касса в среде 1С становилась недоступной. Тест подключения возвращал ошибку FFFFFFF8h, connect timed out.

1С 8, устранение, исправление, ошибка кассы штрих-м, Retail 01Ф, 36h fnoperation
Рис. 4. Ошибка «Тест не пройден. FFFFFFF8h, Connect timed out.» после возникновения ошибки «36h, Ошибка FNOperation: Некорректные параметры в команде» в сеансе работы 1С 8.

Но вернуть подключение 1С 8 к кассе ккм позволяло завершение сеанса работы и запуск 1С снова.

1С 8, ошибка 36h, некорректные параметры в команде для данной реализации, ккм штрих-м, Retail 01Ф
Рис. 5. Пример успешного выполнения теста подключения торгового оборудования в форме оборудования.

Но от этого проблема не решалась. Лишь возобновилась возможность снова и снова получать ошибку «36h, Ошибка FNOperation: Некорректные параметры в команде…» при попытке вывести чек для операции безналичной оплаты.

На форуме mista.ru в обсуждении под темой При пробитии чека в 1с УТ ред.11 выдает ошибку 36h предлагалось проверить наличие скидок в документе — они отсутствовали. Так же предлагалось в сумбурной формулировке настроить разбиение строк на 2.

Этого оказалось недостаточно. Окончательную ясность для формулировки «настроить разбиение строк» внесли статьи Ошибка на кассе 36h Штрих и Сумма налога больше суммы регистраций по чеку и/или итога (Атол). УТ 10.3 о том, чтобы изменить «способ форматно-логического» контроля в настройках элемента справочника «Торговое оборудование». Для этого нужно перейти в форму списка справочника «Торговое оборудование» через кнопку «…» ячейки строки колонки «Модель» формы обработки «Подключение и настройка торгового оборудования». 

Нажатие на изображении увеличит его
1С 8, как устранить, убрать, исправить ошибку при пробитии, выводе, печати чека ккм, 36h, ошибка FNOperation: некорректные параметры в команде для данной реализации
Рис. 6. Порядок перехода к настройке «способ форматно-логического контроля» справочника «Торговое оборудование» в конфигурации 1С: Управление торговлей 8, ред. 10.3, Комплексная автоматизация 1.1

Установка значения «Разделять строки» для настройки «способ форматно-логического контроля» в форме элемента справочника «Торговое оборудование» позволило восстановить дальнейшую работу механизма печати чеков ккм для безналичных оплат.

1C 8, способ форматно-логческого контроля, разделять строки, чтобы устранить, убрать, исправить ошибку, 36h, ошибка FNOperation: Некорректные параметры
Рис. 7. Рабочая настройка способа форматно-логического контроля в значении «Разделять строки» для обхода ошибки «36h, Ошибка FNOperation: Некорректные параметры»

К слову, в других конфигурациях, работающих в режиме управляемого приложения, порядок действий примерно такой же. Переходим в раздел «Администрирование» (или «НСИ и Администрирование» в зависимости от типового решения 1С 8) — «Подключаемое оборудование» — откроется вкладка «Подключение и настройка оборудования». Устанавливаем тип оборудования в значение «ККТ с передачей данных». В списке правой кнопкой мыши для строки нужной модели вызываем контекстное меню и в нем выбираем пункт «Изменить» или, выделив строку, нажимаем клавишу «F2» клавиатуры. В открывшемся окне разворачиваем группу формы «Параметры ККТ» и изменяем значение настройки «способ форматно-логического контроля».

Нажатие на изображении увеличит его
1C 8, где находится настройка способ форматно-логического контроля оборудования в УТ 11, КА 2, БП 3
Рис. 8. На примере конфигурации базы 1С: Бухгалтерия 3.0 показан доступ к настройке способ форматно-логического контроля в списке «Подключение и настройка оборудования» для баз, работающих в режиме управляемого интерфейса.

Таким образом, получается, что драйвер торгового оборудования при такой настройке, если не возможно рассчитать точную сумму по допустимому расхождению, то будет выполнено округление цен по строкам. Одна строка будет  округляться «вверх», а другая – «вниз». И при таком подходе будет выполнено требование, чтобы итоговая сумма была одинаковой, даже при некоторых небольших изменениях стоимости отдельных товаров, например, за счет скидок или дробных значений количества товаров.

Оцените, помогло ли Вам предоставленное описание решения ошибки?




© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

21-10-2021

Журавлев А.С.
(Сайт azhur-c.ru)

Я
   ligaSS

15.08.18 — 09:15

Ошибка:

При печати чека произошла ошибка.

Чек не напечатан на фискальном устройстве.

Дополнительное описание:

При выполнении операции произошла ошибка: 36h, Некорректные параметры в команде для данной реализации

Скриншоты:

https://yadi.sk/i/m_bq2lYr3aEpur

https://yadi.sk/i/Vx8oqijW3aEpvc

https://yadi.sk/i/qS-D3k7Y3aEpw8

Обновили 1с до последней версии обновили прошивку на Штрих Лайт 02Ф

ошибка не устранилась.

Эта ошибка не всегда, только в этом документе.

Решении найти не можем просим помощи.

Тема уже есть но решении нет. Поэтому хочу поднять этот вопрос повторно

   Время

1 — 15.08.18 — 09:19

(0) Если нет скидки — нет ошибки?

   yzimin

2 — 15.08.18 — 09:37

Настройте, чтобы строки бились на 2 при не точном округлении цены. В 1С в настройках оборудования есть такая опция: поставить 0 и разделять строки

   ligaSS

3 — 15.08.18 — 09:38

«Время

     Если нет скидки — нет ошибки?

Ошибки нет. На остальных приходно кассовых ордерах тоже нет ошибки хоть и со скидкой. Ну грубо говоря два ПКО не пробиваются реквизиты посмотрели все как у остальных.

   Время

4 — 15.08.18 — 09:39

(3) Чек бьется из реализации? На скринах — именно реализация.

   ligaSS

5 — 15.08.18 — 09:41

(4) Да через Реализацию

   ligaSS

6 — 15.08.18 — 09:41

(2) Буду иметь введу, попробую настроить

   Время

7 — 15.08.18 — 09:43

(5) Без скидки ошибки нет? Ошибка только при наличии скидок?

(уточняю).

   ligaSS

8 — 15.08.18 — 10:12

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

   zippygrill

9 — 15.08.18 — 10:13

Версия драйвера обновите тоже с оф.сайта Штриха

   Pro1001C

10 — 15.08.18 — 10:44

Такую ошибку встречал в рознице, тоже после обновления релиза. Помогло изменение форматно-логического контроля на «разделять строки»

   Asmody

Модератор

11 — 15.08.18 — 11:11

(0) А вот ник «лига СС» — это случайность или принципиальная позиция?

   ligaSS

12 — 15.08.18 — 11:12

(9) Версия 4.14 с официального сайта

   ligaSS

13 — 15.08.18 — 11:14

(11) LInar GAlimov LIGA. SS от Soft-Servis

   Время

14 — 15.08.18 — 11:17

У меня такая ошибка была в УТ 10.2, когда сумма оплаты была не равна сумме чека. Там и округление, и скидки, и ручки зверя (шаловливые)…

   ligaSS

15 — 15.08.18 — 12:00

(2) Спасибо помогло :)

В подключаемых оборудованиях ККТ а точнее в параметрах изменил настройки.

Было:

https://yadi.sk/i/lGRI_-6M3aFAA8

После изменение:

https://yadi.sk/i/gJJ0xTN23aFAFQ

Всем спасибо за оперативность.

  

ligaSS

16 — 15.08.18 — 12:13

Было:

https://yadi.sk/i/mMUqmjZ23aFBaq

После изменении:

https://yadi.sk/i/xSoTjvRC3aFBb4

TurboConf — расширение возможностей Конфигуратора 1С

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.

Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

Код ошибки Описание ошибки

Устранение ошибки

HEX DEC
30h 48 ФН не отвечает Проверьте подключение ФН. Возможно также, что ФН вышел из строя.
33h 51 Некорректные параметры в команде
35h 53 Некорректный параметр при данных настройках
36h 54 Некорректные параметры в команде для данной реализации ККТ Установленная версия прошивки не позволяет выполнить команду. Установите последнюю версию прошивки.
37h 55 Команда не поддерживается в данной реализации ККТ Установленная версия прошивки не позволяет выполнить команду. Установите последнюю версию прошивки.
38h 56 Ошибка в ПЗУ
39h 57 Внутренняя ошибка ПО ККТ Установите последнюю версию прошивки на ККТ.
3Ch 60 Смена открыта операция невозможна  Закройте смену и повторите операцию.
3Dh 61 Смена открыта операция невозможна Закройте смену и повторите операцию.
3Eh 62 Переполнение накопления по секциям в смене
3Fh 63 Переполнение накопления по скидкам в смене

40h

64

Переполнение диапазона скидок

41h

65

Переполнение диапазона оплаты наличными

45h

69

Cумма всех типов оплаты меньше итога чека 

Укажите большую сумму для оплаты итога чека.
46h 70 Не хватает наличности в кассе Попытка сделать возврат при наличии суммы в кассе меньшей суммы возврата. Сумма возврата должна соответствовать сумме наличности в кассе.
47h 71 Переполнение накопления по налогам в смене
48h 72 Переполнение итога чека
49h 73 Операция невозможна в открытом чеке данного типа
4Ah 74 Открыт чек – операция невозможна Попытка выполнить операцию в открытом чеке. Завершите печать чека и повторите операцию.
4Bh 75 Буфер чека переполнен
4Ch 76 Переполнение накопления по обороту налогов в смене
4Dh 77 Вносимая безналичной оплатой сумма больше суммы чека
4Eh 78 Смена превысила 24 часа Закройте смену.
4Fh 79 Неверный пароль Попытка выполнить операцию под другим паролем. Измените пароль и повторите операцию. (Пароль администратора по умолчанию — 30).
50h 80 Идет печать результатов выполнения предыдущей команды
51h 81 Переполнение накоплений наличными в смене
55h 85 Чек закрыт – операция невозможна Данная операция производится только при открытом чеке.
56h 86 Нет документа для повтора
58h 88 Ожидание команды продолжения печати
59h 89 Документ открыт другим оператором Попытка выполнить документ одновременно несколькими кассирами.
5Bh 91 Переполнение диапазона надбавок
5Ch 92 Понижено напряжение 24В Проверьте напряжение в блоке питания. При необходимости замените блок питания ККТ.
5Dh 93 Таблица не определена
5Eh 94 Неверная операция
5Fh 95 Отрицательный итог чека Укажите положительную сумму в чеке.
6Bh 107 Нет чековой ленты Вставьте рулон чековой ленты в ККТ.
71h 113 Ошибка отрезчика Отрезчик вышел из строя или его заклинило. Разберите отрезчик и выясните причину. Если отрезчик забит бумагой — продуйте его сжатым воздухом.
74h 116 Ошибка ОЗУ Ошибка ОЗУ на кассах Штрих возникает из-за 
низкого напряжения батарейки (меньше 3-х Вольт) на плате  или  из-за плохих контактов на ножках батарейки.
Решение:
Пропаяйте контакты батарейки на плате или замените батарейку.
75h 117 Ошибка питания Проверьте блок питания и разъем питания на ККТ.
77h 119 Ошибка принтера: нет сигнала с датчиков Проверьте состояние принтера ККТ.
78h 120 Замена ПО Сделайте техническое обнуление на кассе. Проверьте напряжение батарейки на плате. Если ошибка повторяется — поменяйте батарейку на плате и обновите прошивку на ККТ.
79h 121 Ошибка часов Сделайте техническое обнуление на кассе. Проверьте напряжение батарейки на плате. Если ошибка повторяется — поменяйте батарейку на плате и обновите прошивку на ККТ.
7Bh 123 Ошибка оборудования Сделайте техническое обнуление на кассе. Если ошибка повторяется — обновите прошивку на ККТ.

Ошибки ФН


Код ошибки Описание ошибки Решение
01h Неизвестная команда, неверный формат посылки или неизвестные параметры Команда с таким кодом не найдена. Проверьте правильность используемой команды.
02h Неверное состояние ФН Данная команда требует другого состояния ФН. Проверьте правильность используемой команды.
03h Ошибка ФН Запросить расширенные сведения об ошибке. Возможно ФН вышел из строя. Протестировать ФН.
04h Ошибка КС (контрольной суммы) Запросить расширенные сведения об ошибке. Возможно ФН вышел из строя. Протестировать ФН.
05h Закончен срок эксплуатации ФН Заменить ФН.
06h Архив ФН переполнен Переполнение архива ФН вследствие большого объема продаж. Заменить ФН.
07h Неверные дата и/или время Дата/время ККТ не соответствуют дате/времени таймера ФН. Проверить и синхронизировать дату/время между ККТ и ФН.
08h Нет запрошенных данных Запрошенные данные отсутствуют в архиве ФН.
09h Некорректное значение параметров команды Параметры команды имеют правильный формат, но их значение не верно.
10h Превышение размеров TLV данных Размер передаваемых TLV данных превысил допустимый.
11h Нет транспортного соединения Транспортное соединение (ТС) отсутствует. Необходимо установить ТС с ОФД и передать в ФН команду «Транспортное соединение с ОФД».
12h Исчерпан ресурс КС (криптографического сопроцессора) Требуется закрытие фискального режима.
14h Исчерпан ресурс хранения Ресурс хранения документов для ОФД исчерпан.
15h Исчерпан ресурс ожидания передачи сообщения Сообщения для ОФД не передаются более 30 календарных дней. Проверьте настройки интернета на кассе и подключение к ОФД.
16h Продолжительность смены более 24 часов Закройте смену.
17h Неверная разница во времени между 2 операциями Разница более чем на 5 минут отличается от разницы определенному по внутреннему таймеру ФН.
20h Сообщение от ОФД не может быть принято Сообщение ОФД не может быть принято, расширенные данные ответа указывают причину.

Коды ошибок Описание DEC HEX 0 0 Ошибок нет. 1 1 Неисправен накопитель фискальной памяти 1, фискальной памяти 2 или часы. 2 2 Отсутствует фискальная память 1. 3 3 Отсутствует фискальная память 2. 4 4 Некорректные параметры в команде обращения к фискальной памяти. 5 5 Нет запрошенных данных. 6 6 Фискальная память в режиме вывода данных. 7 7 Некорректные параметры в команде для данной реализации фискальной памяти. 8 8 Команда не поддерживается в данной реализации фискальной памяти. 9 9 Некорректная длина команды. 10 0A Формат данных не BCD. 11 0B Неисправна ячейка памяти фискальной памяти при записи итога. 17 11 Не введена лицензия. 18 12 Заводской номер уже введен. 19 13 Текущая дата меньше даты последней записи в фискальную память. 20 14 Область сменных итогов фискальной памяти переполнена. 21 15 Смена уже открыта. 22 16 Смена не открыта. 23 17 Номер первой смены больше номера последней смены. 24 18 Дата первой смены больше даты последней смены. 25 19 Нет данных в фискальной памяти. 26 1A Область перерегистраций в фискальной памяти переполнена. 27 1B Заводской номер не введен. 28 1C В заданном диапазоне есть поврежденная запись. 29 1D Повреждена последняя запись сменных итогов. 31 1F Отсутствует память регистров. 32 20 Переполнение денежного регистра при добавлении. 33 21 Вычитаемая сумма больше содержимого денежного регистра. 34 22 Неверная дата. 35 23 Нет записи активизации. 36 24 Область активаций переполнена. 37 25 Нет активизации с запрашиваемым номером. 51 33 Некорректные параметры в команде. 53 35 Некорректный параметр при данных настройках. 54 36 Некорректные параметры в команде для данной реализации фискальной памяти. 55 37 Команда не поддерживается в данной реализации фискальной памяти. 56 38 Ошибка в постоянном запоминающем устройстве. 57 39 Внутренняя ошибка программного обеспечения фискальной памяти. 58 3A Переполнение накопления по надбавкам в смене. 60 3C ЭКЛЗ: неверный регистрационный номер. 62 3E Переполнение накопления по секциям в смене. 63 3F Переполнение накопления по скидкам в смене. 64 40 Переполнение диапазона скидок. 65 41 Переполнение диапазона оплаты наличными. 66 42 Переполнение диапазона оплаты типом 2. 67 43 Переполнение диапазона оплаты типом 3. 68 44 Переполнение диапазона оплаты типом 4. 69 45 Cумма всех типов оплаты меньше итога чека. 70 46 Не хватает наличности в кассе. 71 47 Переполнение накопления по налогам в смене. 72 48 Переполнение итога чека. 74 4A Открыт чек — операция невозможна. 75 4B Буфер чека переполнен. 76 4C Переполнение накопления по обороту налогов в смене. 77 4D Вносимая безналичной оплатой сумма больше суммы чека. 78 4E Смена превысила 24 часа. 79 4F Неверный пароль. 80 50 Идет печать предыдущей команды. 81 51 Переполнение накоплений наличными в смене. 82 52 Переполнение накоплений по типу оплаты 2 в смене. 83 53 Переполнение накоплений по типу оплаты 3 в смене. 84 54 Переполнение накоплений по типу оплаты 4 в смене. 86 56 Нет документа для повтора. 87 57 ЭКЛЗ: количество закрытых смен не совпадает с фискальной памятью. 88 58 Ожидание команды продолжения печати. 89 59 Документ открыт другим оператором. 91 5B Переполнение диапазона надбавок. 92 5C Понижено напряжение 24В. 93 5D Таблица не определена. 94 5E Некорректная операция. 95 5F Отрицательный итог чека. 96 60 Переполнение при умножении. 97 61 Переполнение диапазона цены. 98 62 Переполнение диапазона количества. 99 63 Переполнение диапазона отдела. 100 64 Фискальная память отсутствует. 101 65 Не хватает денег в секции. 102 66 Переполнение денег в секции. 103 67 Ошибка связи с фискальной памятью. 104 68 Не хватает денег по обороту налогов. 105 69 Переполнение денег по обороту налогов. 106 6A Ошибка питания в момент ответа по I2C. 107 6B Нет чековой ленты. 108 6C Нет контрольной ленты. 109 6D Не хватает денег по налогу. 110 6E Переполнение денег по налогу. 111 6F Переполнение по выплате в смене. 112 70 Переполнение фискальной памяти. 113 71 Ошибка отрезчика. 114 72 Команда не поддерживается в данном подрежиме. 115 73 Команда не поддерживается в данном режиме. 116 74 Ошибка оперативной памяти. 117 75 Ошибка питания. 118 76 Ошибка принтера: нет импульсов с тахогенератора. 119 77 Ошибка принтера: нет сигнала с датчиков. 120 78 Замена программного обеспечения. 121 79 Замена фискальной памяти. 122 7A Поле не редактируется. 123 7B Ошибка оборудования. 124 7C Не совпадает дата. 125 7D Неверный формат даты. 126 7E Неверное значение в поле длины. 127 7F Переполнение диапазона итога чека. 128 80 Ошибка связи с фискальной памятью. 129 81 Ошибка связи с фискальной памятью. 130 82 Ошибка связи с фискальной памятью. 131 83 Ошибка связи с фискальной памятью. 132 84 Переполнение наличности. 133 85 Переполнение по продажам в смене. 134 86 Переполнение по покупкам в смене. 135 87 Переполнение по возвратам продаж в смене. 136 88 Переполнение по возвратам покупок в смене. 137 89 Переполнение по внесению в смене. 138 8A Переполнение по надбавкам в чеке. 139 8B Переполнение по скидкам в чеке. 140 8C Отрицательный итог надбавки в чеке. 141 8D Отрицательный итог скидки в чеке. 142 8E Нулевой итог чека. 143 8F Касса не фискализирована. 144 90 Поле превышает размер, установленный в настройках. 145 91 Выход за границу поля печати при данных настройках шрифта. 146 92 Наложение полей. 147 93 Восстановление оперативной памяти прошло успешно. 160 A0 Ошибка связи с ЭКЛЗ. 161 A1 ЭКЛЗ отсутствует. 162 A2 ЭКЛЗ: Некорректный формат или параметр команды. 163 A3 Некорректное состояние ЭКЛЗ. 164 A4 Авария ЭКЛЗ. 165 A5 Авария КС в составе ЭКЛЗ. 166 A6 Исчерпан временной ресурс ЭКЛЗ. 167 A7 ЭКЛЗ переполнена. 168 A8 ЗКЛЗ: Неверные дата и время. 169 A9 ЭКЛЗ: Нет запрошенных данных. 170 AA Переполнение ЭКЛЗ (отрицательный итог документа). 176 B0 ЭКЛЗ: Переполнение в параметре количество. 177 B1 ЭКЛЗ: Переполнение в параметре сумма. 178 B2 ЭКЛЗ: Уже активизирована. 192 C0 Контроль даты и времени (подтвердите дату и время). 193 C1 ЭКЛЗ: суточный отчёт с гашением прервать нельзя. 194 C2 Превышение напряжения в блоке питания. 195 C3 Несовпадение итогов чека и ЭКЛЗ. 196 C4 Несовпадение номеров смен. 199 C7 Поле не редактируется в данном режиме. 200 C8 Отсутствуют  импульсы от таходатчика.

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.

Already on GitHub?
Sign in
to your account

Comments

@Commander4ek

при вызове метода печати чека в конечном итоге вылетает 94 ошибка Закрытие чека без позиций

ЛОГИ:

D [INPAS_PAX]: InpasPax::printPurchase start
D [INPAS_PAX]: InpasPax::readIsDocOpened start
D [INPAS_PAX]: InpasPax::readIsDocOpened ECR STATUS 8
D [INPAS_PAX]: InpasPax::cancelDoc start
D [INPAS_PAX]: InpasPax::checkResult checkResult error code: 0
D [INPAS_PAX]: InpasPax::cancelDoc success
D [INPAS_PAX]: InpasPax::printPurchase PURCHASE_TYPE_INPAS_SELL
D [INPAS_PAX]: InpasPax::checkResult checkResult error code: 0
D [INPAS_PAX]: InpasPax::printPurchase OpenCheck() CHECK OPENED
D [INPAS_PAX]: InpasPax::printPurchase Set_TaxType(): 1
D [INPAS_PAX]: InpasPax::printPurchase Is countable: yes ///штучный товар
D [INPAS_PAX]: InpasPax::printPurchase Set_Quantity : 1
D [INPAS_PAX]: InpasPax::printPurchase Set_CheckType : 0
D [INPAS_PAX]: InpasPax::printPurchase Set_Price : 10000
D [INPAS_PAX]: InpasPax::printPurchase Set_Tax1 0
D [INPAS_PAX]: InpasPax::printPurchase Set_MeasureUnit : 0
D [INPAS_PAX]: InpasPax::printPurchase Set_Department : 1
D [INPAS_PAX]: InpasPax::printPurchase Set_Summ1Enabled(false)
D [INPAS_PAX]: InpasPax::printPurchase Set_PaymentTypeSign(4)
D [INPAS_PAX]: InpasPax::printPurchase Set_PaymentItemSign(1)
D [INPAS_PAX]: InpasPax::printPurchase Set_StringForPrinting: Test
D [INPAS_PAX]: InpasPax::printPurchase Set_DivisionalQuantity(false)
D [INPAS_PAX]: InpasPax::checkResult checkResult error code: -9 ///тут вызов FNOperation()
D [INPAS_PAX]: InpasPax::printPurchase PAYMENT_CASH: 100
E [INPAS_PAX]: InpasPax::printPurchase TOTALE PRICE = 100 TOTALE CASH = 100 TOTALE CHANGE = 0
D [INPAS_PAX]: InpasPax::checkResult checkResult error code: 94
D [INPAS_PAX]: InpasPax::setLastErrMsg start
D [INPAS_PAX]: InpasPax::setLastErrMsg lastErrMsg: «Код ошибки 5Eh (94) от ККТ: Неверная операция <0x005E0033: закрытие чека без позиций>»

Можете подсказать что делаю не так?

@surfernsk

@Commander4ek «Код ошибки 5Eh (94) от ККТ: Неверная операция <0x005E0033: закрытие чека без позиций>»
Вроде все в описании ошибки написано.

По ошибке -9 не корректные параметры в команде. Проверьте какие параметры указываете для позиции.

@Commander4ek

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

@swex

да, всё так. покажите полный лог от открытия чека до закрытия, можно лог драйвера или лог КЯ.

@surfernsk

@Commander4ek все верно, проверьте что именно передаете в параметрах,

@Commander4ek

разобрался, спасибо, проблема была в том что передаются разные значения в Set_CheckType в OpenCheck и ФН методы

   kupec

05.10.21 — 11:32

Доброго дня, кто то делал для ШТРИХа передачу маркировки по молочке?

Для табака у меня сделано вот так

            FR.Password=ПарольККМ(Кассир);

            //Тип маркировки товара.

            FR.MarkingType=17485;    

            //Код маркировки товара.

            FR.GTIN=Лев(ИДМаркировка,14);                                                                  

            FR.SerialNumber=Сред(СокрЛП(ИДМаркировка),15,7);                          

            FR.FNSendItemCodeData();                              

А для молочки как делать? Передавать все символы которые до символа с кодом 29, начиная с 17 символа?, так как первые 16 это GTIN и есть?

   Злопчинский

1 — 05.10.21 — 12:20

гтин не 16. гтин 12/13/14

   kupec

2 — 05.10.21 — 12:33

0104607004892936215yQnIO #29 93FXLQ #13

т.е. вот от этого ШК отделяю первые 2 символа — 01 и остальное как раз и получается 14 символьный GTIN?

   Злопчинский

3 — 05.10.21 — 12:34

типа да

   kupec

4 — 05.10.21 — 12:38

ну и получается тогда что после откидываем 21 и перед #29 первые символы (6 штук) это и есть серийник?

   victuan1

5 — 05.10.21 — 17:22

(0) Я делал. Для какой версии ФФД нужно?

   victuan1

6 — 05.10.21 — 17:24

ГТИН всегда 14 символов (для всех товарных групп), а Серийник у молочки всегда 6 символов:

«01 + GTIN (14 chars) + 21 + СерийныйНомер (6 chars) + 93 + КодПроверки (4 chars)»

   victuan1

7 — 05.10.21 — 17:26

Пример 1:

Считанная бинарная последовательность: 010460043993125621JgXJ5.Tu001d8005112000u001d930001u001d923zbrLA==u001d24014276281.

Символ FNC1 по стандарту GS1 в примере обозначается как «u001d».

Выделенная последовательность для передачи в значение реквизита «код товара» (тег 1162): 04600439931256 & JgXJ5.T & 112000.

04600439931256 — представляется в виде 6-байтного hex: 04h 2Fh lFh 96h 81h 78h.

JgXJ5.T — кодируется в набор байт hex, интерпретируя символы согласно ASCII таблицы: 4Ah 67h 58h 4Ah 35h 2Eh 54h.

112000 — кодируется в набор байт hex, интерпретируя символы согласно ASCII таблицы: 31h 31h 32h 30h 30h 30h.

Значение реквизита «код товара» (тег 1162): 44h 4Dh 04h 2Fh 1Fh 96h 81h 78h 4Ah 67h 58h 4Ah 35h 2Eh 54h 31h 31h 32h 30h 30h 30h.

   kupec

8 — 06.10.21 — 10:16

(5) сейчас все кассы 1.05 или 1.1, в течении дня сегодня будут менять на одной из касс на 1.2, так что на данный момент актально для двух вариантов.

   NorthWind

9 — 06.10.21 — 10:22

(2) 0104607004892936215yQnIO #29 93FXLQ #13

дело в том, что если у вас AI фиксированного размера (а 01, если я верно помню, всегда 14, т.е. фиксированная), то FNC1 необязателен.

Так что в данном случае у вас

(01)04607004892936

(21)5yQnIO #29 93FXLQ #13

   NorthWind

10 — 06.10.21 — 10:23

в молочке, наверно, еще дата изготовления как минимум должна быть. Тут только EAN13 и серийник от честного знака…

   victuan1

11 — 07.10.21 — 06:33

(10) Нет, не будет даты изготовления в КМ. Отказались от нее в ЧЗ.

   victuan1

12 — 07.10.21 — 07:07

(9) Не совсем так:

Если ФФД 1.05/1.1 то в ОФД должно уйти: 4607004892936 5yQnIO

Если ФФД 1.2, то в ОФД уходит: 01 04607004892936 215yQnIO #29 93FXLQ

Буквально в конце сентября я прошел проверочные испытания по молочке своего ПО в Честном ЗНАКе именно по этому сценарию (по другим сценариям мое ПО не аккредитовали бы).

   kupec

13 — 08.10.21 — 10:05

(12) каким же образом мне используя 1.2 передать тэги? Сейчас сделано вот так

FR.Password=ПарольККМ(Кассир);

            //Тип маркировки товара.

            FR.MarkingType=17485;    

            //Код маркировки товара.

            FR.GTIN=Лев(ИДМаркировка,14);                                                                  

            FR.SerialNumber=Сред(СокрЛП(ИДМаркировка),15,7);                          

            FR.FNSendItemCodeData();        

Но почему то теперь это не проходит, ругается драйвер

Код ошибки 51 Некорректные параметры в команде

   victuan1

14 — 08.10.21 — 11:40

(13) Эти методы для ФФД 1.05/1.1.

Для 1.2 всё по другому.

   victuan1

15 — 08.10.21 — 11:45

Чтобы понять насколько всё сложно и заморочено в плане маркировки на ФФД 1.2, почитайте схемы интеграции:

http://fs.atol.ru/_layouts/15/atol.templates/Handlers/FileHandler.ashx?guid=59712437-d622-458c-a0e5-98e4e5e2cdfb&webUrl=

Это для Атола, но у Штрих-м аналогично (т.к ФН-М тот же самый).

   kupec

16 — 08.10.21 — 11:48

Правильно ли я понимаю, что перед тем как продать маркированный товар необходимо его сначала проверить через драйвер. И после получения ответа только совершать передачу тэга?

   victuan1

17 — 08.10.21 — 11:48

У меня несколько дней ушло только на переписку с техподдержкой Штрих-М, чтобы понять как всё это увязать в коде для их драйвера. Некоторые вещи не документированы в их документации.

Например, кто знает как пользоваться методом FNUserAttribute? Манулов по этому методу ноль.

   victuan1

18 — 08.10.21 — 11:48

(16) Правильно.

   kupec

19 — 08.10.21 — 11:50

(18) т.е. без проверки вообще никак не обойтись?

   victuan1

20 — 08.10.21 — 11:54

(19) Никак, т.к. железно зашито на уровне ФН-М. Я пробовал.

   kupec

21 — 08.10.21 — 12:27

ну вот допустим считанный код вот такой

0104601216012779215XIPBe<0x1D>931eil

FNCheckItemBarcode

Что передавать в BarCode ? Весь целиком или только GTIN?

   kupec

22 — 08.10.21 — 12:31

я что не пробую проверять у меня на все один ответ

Статус локальной проверки    : 0

  «код маркировки не может быть проверен фискальным накопителем с использованием ключа проверки КП»

Результат локальной проверки : 1, КМ данного типа не подлежит проверке в ФН

Распознанный тип КМ          : 255, неизвестное значение

   kupec

23 — 08.10.21 — 12:33

Статус локальной проверки    : 0

  «код маркировки не может быть проверен фискальным накопителем с использованием ключа проверки КП»

Результат локальной проверки : 1, КМ данного типа не подлежит проверке в ФН

Распознанный тип КМ          : 5, КМ со значением кода проверки длиной 4 символа, не подлежащим проверке в ФН

Код ответа ФН на команду онлайн-проверки: 0, Ошибок нет

Результат проверки КМ        : 15

  «код маркировки проверен»

  «результат проверки КП КМ положительный»

  «проверка статуса ОИСМ выполнена»

  «от ОИСМ получены сведения, что планируемый статус товара корректен»

  «результат проверки КП КМ и статуса товара сформирован ККТ, работающей в режиме передачи данных»

Реквизиты ответа сервера     : 42 08 04 00 4C 10 60 61 39 08 01 00 00 D5 07 01 00 0F 3D 08 01 00 01 34 08 01 00 05

Вот что удалось получить

   victuan1

24 — 08.10.21 — 14:09

(21) Весь целиком, а последовательность <0x1D> нужно перед этим заменить на символ с кодом 29:

КМ = СтрЗаменить(КМ,»<0x1D>»,Симв(29));

(23) Результат проверки КМ        : 15

означает, что всё хорошо, [М+]

   kupec

25 — 08.10.21 — 14:22

(24) каким образом читать данные в ПО? Какие там команды или атрибуты? Где про это можно почитать? Что то руководство программиста они давненько не обновляли

   kupec

26 — 08.10.21 — 14:29

(25) а если у меня со сканера ШК не приходит такая последовательность? Это критично или нет?

   victuan1

27 — 08.10.21 — 14:32

(25) https://exam.shtrih-m-partners.ru/base/ — Общее для ККТ — драйвера. Там же обновленная документация.

(26) Какая приходит?

   kupec

28 — 08.10.21 — 15:05

Приходит например вот

0104601216012779215XIPBe<0x1D>931eil

   kupec

29 — 08.10.21 — 15:07

(27) руководство прошлогоднее от 16 ноября 2020

   victuan1

30 — 08.10.21 — 15:49

(29) Я по нему и работал. Новее нет.

(28) См. (24)

   kupec

31 — 08.10.21 — 15:52

А как же теперь передавать данные о ШК ЕГАИС? У меня тоже вылезает ошибка 51, некорректные парамемтры в команде

   victuan1

32 — 08.10.21 — 15:53

(31) ШК ЕГАИС не передаем в ОФД (и никогда не нужно было передавать в ОФД).

Их нужно передавать через УТМ запросом версии Cheque или ChequeV3.

   victuan1

33 — 08.10.21 — 15:54

   kupec

34 — 08.10.21 — 16:00

Драйвер есть последний, к нему описания нет или я слепой и не могу найти

   victuan1

35 — 08.10.21 — 16:07

(34) Я не пользовался описанием к новому драйверу — не подскажу где искать.

   brainguard

36 — 08.10.21 — 16:09

(34) К последнему драйверу подходит предыдущее описание. Там ничего не меняли, только ошибки фиксили

   kupec

37 — 08.10.21 — 16:42

(36) Поделитесь пожалуйста мне на почту руководством, которое у вас есть. Заранее благодарю

   victuan1

38 — 08.10.21 — 17:08

(37) Я вам дал ссылку в (27) — берите оттуда.

   arian_

39 — 11.10.21 — 18:06

Кто-нибудь уже запустил для 1с 7.7 передачу маркированного товара для ФФД 1.2. Получилось у кого-нибудь?

   Злопчинский

40 — 11.10.21 — 18:22

(39) а шо?

   arian_

41 — 11.10.21 — 18:30

(40) Хотел узнать какую версию драйвера использовали 4.15 или 5.16? И куда теперь криптохвост добавлять в SerialNumber или какой то отдельный параметр?

   victuan1

42 — 12.10.21 — 05:48

(39) Получилось.

(41) На обоих версиях драйверов работает.

«И куда теперь криптохвост добавлять в SerialNumber или какой то отдельный параметр?» У-у, как запущено… а текущую тему прочитать с начала, не судьба? В (27) ссылка откуда скачать документацию по Штрих-М.

   arian_

43 — 12.10.21 — 06:34

(42) Ну так это было вчера. Я разобрался. Сначала проверяем марку с криптохвостом, а затем выводим вопрос пользователю от подтверждении пользователю пробития чека, если марка не прошла проверку.

Вот так:

меняем

……..

глФР.MarkingType=17485;

глФР.GTIN=ТЗначМарки.Джитин;

глФР.SerialNumber=ТЗначМарки.Серийник;

глФР.FNSendItemCodeData();

……..

на

qr=»010460702776893521000000013JBSF<0x1D>91FFD0<0x1D>92dGVzdGifC5FkjETjJhotf7m8rsjQHeoNyxcpaEIZfDQ=»;

qr=СтрЗаменить(qr,»<0x1D>»,Симв(29));

глФР.BarCode = qr;

глФР.ItemStatus = 1;

глФР.FNCheckItemBarcode();

//Дальше ККМ возвращает ряд тэгов с результатами проверки

глФР.FNAcceptMarkingCode();

глФР.Barcode = qr;

глФР.FNSendItemBarcode();

Правильно?

Я запутался какие тэги в ФФД 1.2 необходимо еще передать в ККМ или этого достаточно для того, чтобы чек пробился правильно? При условии что товар продается целыми шиуками.

   victuan1

44 — 12.10.21 — 06:53

(43) Желательно еще учесть обработку ошибок и передачу меры кол-ва товара.

   arian_

45 — 12.10.21 — 08:11

(44) я так понимаю передача меры количества товара имеет смысл при частичном выбытии товара. Например продаем 1 сигарету из пачки.

   victuan1

46 — 12.10.21 — 09:45

(45) Я имел в виду тег 1197, он обязательный по ФФД 1.2 для любого типа товаров.

   arian_

47 — 12.10.21 — 09:48

(46) Читаю изменения в ФФД 1.2 :Единица измерения предмета расчета (тег 1197) изменена на новый реквизит «мера количества предмета расчета» (тег 2108)

   arian_

48 — 12.10.21 — 09:50

Тэг 1212, который для штриха PaymentItemSign. Раньше, если немаркированный товар, то просто ставили 1. а сейчас если товар не маркированный оставлять 1, а если маркированный, то 33 или он автоматом поставится, если у видит что есть КМ?

   victuan1

49 — 12.10.21 — 10:08

(47) Верно, теперь это тег 2108.

   victuan1

50 — 12.10.21 — 10:09

(48) Я ставлю 33 программно. Автоматом надо выбирать из двух значений 31 и 33, думаю автомат не сработает.

   arian_

51 — 12.10.21 — 10:15

(49) Так вот я не пойму в документации написано: MeasureUnit Мера количества предмета расчета (ФФД 1.2):

0 – Применяется для предметов расчета, которые могут быть реализованы поштучно или единицами;

…….

255 – Применяется при использовании иных единиц измерения

Скажем продаем ботинки или одежду. Что в этот тэг записывать?

   victuan1

52 — 12.10.21 — 10:18

(51) записывать 0.

   arian_

53 — 12.10.21 — 10:20

(50) А если товар не маркируемый записываем 1? Потому что 31 и 33 это всё для маркируемого

   arian_

54 — 12.10.21 — 10:21

(52) это также подходит и к немаркируемому товару?

   arian_

55 — 12.10.21 — 10:24

Действительно написано, что не передача тэгов 1212 и 2108 рассматривается как административное правонарушение. Но если это немаркируемый товар. Тэги эти тоже обязательны для передачи или нет?

   victuan1

56 — 12.10.21 — 10:26

(53) 1, если это не подакцизный товар. Здесь подробнее https://disk.yandex.ru/i/wx7PyIbo3U57Vh

   victuan1

57 — 12.10.21 — 10:27

(55) Да, тоже.

   victuan1

58 — 12.10.21 — 10:27

   arian_

59 — 12.10.21 — 10:29

Разобрался. Спасибо!

   kupec

60 — 12.10.21 — 16:53

глФР.BarCode = qr;

глФР.ItemStatus = 1;

глФР.FNCheckItemBarcode();

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

   arian_

61 — 12.10.21 — 21:12

(60) После всего этого делаете вот это:

глФР.FNAcceptMarkingCode();

глФР.Barcode = qr;

глФР.FNSendItemBarcode();

глФР.FNCloseCheckEx();

   arian_

62 — 12.10.21 — 21:14

То есть это в цикле перебора табличной части

глФР.FNAcceptMarkingCode();

глФР.Barcode = qr;

глФР.FNSendItemBarcode();

А в конце при пробития чека

глФР.FNCloseCheckEx();

   arian_

63 — 12.10.21 — 22:55

(60) А разве при закрытии чека глФР.FNCloseCheckEx(); буфер ККМ не должен очищаться сам?

И для чего нужна такая команда: FNConfirmNotificationRead ФНПодтвердитьВыгрузкуУведомления

Подтверждение выгрузки уведомления (ФФД 1.2)

У меня пока не обновлена прошивка, поэтому не могу проверить. Возможно victuan1 поможет.

   kupec

64 — 13.10.21 — 13:25

(61) (62) (63) в тесте драйвера все работает, смотрел лог файл, ничем вроде не отличается мой алгоритм работы и алгоритм тестдрайвера. И вот как раз таки в нем все работает, а в моем ПО не хочет. Тут тогда другой вопрос встает. Как в цикле перебирать FNCheckItemBarcode() если после первой проверки у меня вылетает ошибка на втором. Что то мне вот этот момент не понятен

   arian_

65 — 13.10.21 — 15:30

(64) Покажите код формирования чека.

   kupec

66 — 14.10.21 — 16:24

(65) я чек не формирую, я сначала в программе просто пытаюсь получить результат проверки марки

    FR.Password=30;

    FR.ItemStatus=1;

    FR.CheckItemMode=0;

    FR.Barcode=СокрЛП(ДанныеДляПроверки);

    FR.FNCheckItemBarcode();

    Если ОтветДрайвера(,»Проверка КМ»)<>0 Тогда

        Возврат;

    КонецЕсли;

Естественно сначала подключаюсь к ККМ. Так вот…первый раз код проходит, второй раз уже выдает ошибку не верные реквизиты. Если переподключиться к ККМ, то проверка первый раз опять проходит, ну а на второй опять ошибка

   arian_

67 — 15.10.21 — 13:56

Попробуйте для штучного товара:

        FR.Password=30;

    Если ВидОперации=Перечисление.ВидыОперацийЧекККМ.Чек Тогда

        FR.CheckType=0;

    ИначеЕсли ВидОперации=Перечисление.ВидыОперацийЧекККМ.ЧекНаВозврат Тогда

        FR.CheckType=2;

    КонецЕсли;

    
    ВыбратьСтроки();

    Пока ПолучитьСтроку()>0 Цикл     

            FR.BarCode = СтрЗаменить(КМ,»<0x1D>»,Симв(29));; // реквизит табличной части;

        FR.ItemStatus = 1; // Планируемый статус — штучный товар, Реализован

        FR.CheckItemMode = 0; //полная проверка (локальная проверка ФН и проверка через ОФД

        FR.FNCheckItemBarcode(); //Проверка штрих кода GS1

        
        //Выводим данные проверки для контроля. Здесь же можно указать проверку условия принятия или не принятия кассиром решения об пробитии каждой позиции чека

        Сообщить(«Статус локальной проверки: «+FR.CheckItemLocalResult);

        Сообщить(«Причина, по которой не была проведена локальная проверка: «+FR.CheckItemLocalError);

        Сообщить(«Распознанный тип КМ, (Тег 2100 ФФД): «+FR.MarkingType2);

        Сообщить(«Код ответа ФН на команду онлайн-проверки: «+FR.KMServerErrorCode);

        Сообщить(«Результат проверки КМ. (Тег 2106 ФФД): » + FR.KMServerCheckingStatus);

        FR.FNAcceptMarkingCode(); //принять введеный код марки

        
        FR.StringForPrinting=печнаим;

        FR.Quantity=1;

        FR.Tax1=0;

        FR.Price=Окр(Сумма/Количество, 2);

        FR.PaymentTypeSign=4;

        FR.PaymentItemSign=31; //1-если не маркируемый и 33, если маркируемый и акцизный, 31 — маркируем безакцизный

        FR.MeasureUnit = 0;

        
        // Передаем Номер ГТД согласно формату ФФД 1.1

        FR.TagNumber = 1231;

        FR.TagType = 7;

        FR.TagValueStr = СокрЛП(Строка(Номенклатура.НомерГТД.Наименование));

        FR.FNSendTagOperation();

        
        // Передаем Код страны происхождения согласно формату ФФД 1.1

        FR.TagNumber = 1230;

        FR.TagType = 7;

        FR.TagValueStr = СокрЛП(Строка(Номенклатура.СтранаПроисхождения.Код));

        FR.FNSendTagOperation();    

        FR.FNOperation();

        
        FR.BarCode = СтрЗаменить(КМ,»<0x1D>»,Симв(29));; // реквизит табличной части;

                  FR.FNSendItemBarcode(); //привязываем марку к позиции

    КонецЦикла;

    
    //Отправляем чек на электронную почту

    Если СокрЛП(ТелПочта)<>»» Тогда  

        FR.CustomerEmail=СокрЛП(ТелПочта);

        FR.FNSendCustomerEmail();

    КонецЕсли;

    //    Закрытие чека

    FR.Password=30;

    FR.StringForPrinting=»================================================»;

    FR.FNCloseCheckEx();

    ОтветДрайвера();

    Сообщить(«Результат: «+Строка(Result));

    Сообщить(«Ошибка параметра: «+Строка(ОшибкаПараметра));

   arian_

68 — 15.10.21 — 13:58

печнаим — это наименование Номенклатуры

   NikeArz

69 — 15.10.21 — 15:11

У меня все работает для штучного товара

пробовал на сигаретах и автошинах, до обуви руки не дошли

Конфигураци 1С самописная

Функция ОперацияПроверитьКодМаркировки(Объект, НомерЛУ, Пароль, СтруктураКМ)

    
    
    Результат = «»;

    
    Если Объект = Неопределено Тогда

        Результат = «- Торговое оборудование не подключено.»;

        СтруктураКМ.КодПроверен = 3;

        СтруктураКМ.ОтветПроверки = «- Проверка КМ не выполнена.»;

        Возврат Результат;

    КонецЕсли;

    
    Объект.LDNumber = НомерЛУ;

    Объект.SetActiveLD();

    Если Объект.ResultCode <> 0 Тогда

        Результат = Объект.ResultCodeDescription;

        СтруктураКМ.КодПроверен = 3;

        СтруктураКМ.ОтветПроверки = «- Проверка КМ не выполнена.»;

        Возврат Результат;

    КонецЕсли;

    
    Объект.Password = Пароль;

    Объект.Connect();

    Если Объект.ResultCode <> 0 Тогда

        Результат = Объект.ResultCodeDescription;

        СтруктураКМ.КодПроверен = 3;

        СтруктураКМ.ОтветПроверки = «- Проверка КМ не выполнена.»;

        Возврат Результат;

    КонецЕсли;

    
    Объект.GetDeviceMetrics();

    Если Объект.ResultCode <> 0 Тогда

        Результат = Объект.ResultCodeDescription;

        Объект.Disconnect();

        СтруктураКМ.КодПроверен = 3;

        СтруктураКМ.ОтветПроверки = «- Проверка КМ не выполнена.»;

        Возврат Результат;

    КонецЕсли;

    
    Модель = Объект.UModel; //Объект.УМодельУстройства

    
    мРезультатПроверкиСервером     = Неопределено;

    мСтатусПроверкиСервером     = Неопределено;

    
    //************************************************************

    Объект.Password         = Пароль;

    Объект.BarCode             = СтруктураКМ.КодМаркировки; //Код записывается как читается со сканера с символом разделителем символ(29)

    Объект.ItemStatus         = СтруктураКМ.СтатусОперации; // 1 продажа, 3 — возврат

    Объект.CheckItemMode     = 0;

    Объект.TLVDataHEX         = «»;

    Объект.FNCheckItemBarcode();

    Если Объект.ResultCode <> 0 Тогда

        Результат = Объект.ResultCodeDescription;

        Объект.FNDeclineMarkingCode(); //отвергнуть код маркировки

        СтруктураКМ.КодПроверен = 3;

        СтруктураКМ.ОтветПроверки = «- Проверка КМ не выполнена. Код отвергнут.»;

        Объект.Disconnect();

        Возврат Результат;

    КонецЕсли;

    
    мСтатусПроверкиСервером     = Объект.KMServerErrorCode;

    мРезультатПроверкиСервером     = Объект.KMServerCheckingStatus;

    Если мРезультатПроверкиСервером = 15 Тогда

        СтруктураКМ.КодПроверен = 0; // 0- М+ 1- М 2- М-

        СтруктураКМ.ОтветПроверки = «»;

        Объект.FNAcceptMarkingCode(); //принять код маркировки

    ИначеЕсли мРезультатПроверкиСервером = 7 Тогда

        СтруктураКМ.КодПроверен = 2;

        СтруктураКМ.ОтветПроверки = «Проверка КП КМ выполнена с положительным результатом, статус товара у ОИСМ некорректен»;

        Объект.FNAcceptMarkingCode(); //принять код маркировки

    ИначеЕсли мРезультатПроверкиСервером = 5 Тогда

        СтруктураКМ.КодПроверен = 2;

        СтруктураКМ.ОтветПроверки = «Проверка КП КМ выполнена с отрицательным результатом, статус товара у ОИСМ некорректен»;

        Объект.FNAcceptMarkingCode(); //принять код маркировки

    ИначеЕсли мРезультатПроверкиСервером = 19 Тогда

        СтруктураКМ.КодПроверен = 1;

        СтруктураКМ.ОтветПроверки = «Проверка КП КМ выполнена в ФН с положительным результатом, статус товара ОИСМ не проверен (ККТ функционирует в автономном режиме)»;

        Объект.FNAcceptMarkingCode(); //принять код маркировки

    ИначеЕсли мРезультатПроверкиСервером = 17 Тогда

        СтруктураКМ.КодПроверен = 2;

        СтруктураКМ.ОтветПроверки = «Проверка КП КМ выполнена в ФН с отрицательным результатом, статус товара ОИСМ не проверен (ККТ функционирует в автономном режиме)»;

        Объект.FNAcceptMarkingCode(); //принять код маркировки

    ИначеЕсли мРезультатПроверкиСервером = 16 Тогда

        СтруктураКМ.КодПроверен = 1;

        СтруктураКМ.ОтветПроверки = «Проверка КП КМ не выполнена, статус товара ОИСМ не проверен (ККТ функционирует в автономном режиме)»;

        Объект.FNAcceptMarkingCode(); //принять код маркировки

    ИначеЕсли мРезультатПроверкиСервером = 3 Тогда

        СтруктураКМ.КодПроверен = 1;

        СтруктураКМ.ОтветПроверки = «Проверка КП КМ выполнена с положительным результатом, статус товара ОИСМ не проверен»;

        Объект.FNAcceptMarkingCode(); //принять код маркировки

    ИначеЕсли мРезультатПроверкиСервером = 1 Тогда

        СтруктураКМ.КодПроверен = 2;

        СтруктураКМ.ОтветПроверки = «Проверка КП КМ выполнена в ФН с отрицательным результатом, статус товара ОИСМ не проверен»;

        Объект.FNAcceptMarkingCode(); //принять код маркировки

    ИначеЕсли мРезультатПроверкиСервером = 0 Тогда

        СтруктураКМ.КодПроверен = 1;

        СтруктураКМ.ОтветПроверки = «Проверка КП КМ выполнена в ФН с отрицательным результатом, статус товара ОИСМ не проверен»;

        Объект.FNAcceptMarkingCode(); //принять код маркировки

    Иначе

        СтруктураКМ.КодПроверен = 3;

        СтруктураКМ.ОтветПроверки = «- Проверка не выполнена. Код отвергнут.»;

        Объект.FNDeclineMarkingCode(); //отвергнуть код маркировки

    КонецЕсли;    

    
    Если Объект.ResultCode <> 0 Тогда

        Результат = Объект.ResultCodeDescription;

        СтруктураКМ.ОтветПроверки = «- Проверка не выполнена. Код отвергнут.»;

        СтруктураКМ.КодПроверен = 3;

        Объект.Disconnect();

        Возврат Результат;

    КонецЕсли;

    
    
    Объект.Password = Пароль;

    Объект.GetECRStatus();

    Если Объект.ResultCode <> 0 Тогда

        Результат = Объект.ResultCodeDescription;

    КонецЕсли;

    
    Объект.Disconnect();

    Возврат Результат;

    
КонецФункции

   kupec

70 — 15.10.21 — 15:39

Всем большое спасибо, в выходные поиграюсь.

   arian_

71 — 15.10.21 — 15:43

(69) Подскажите а зачем вы после проверки каждого кода освобождвете ком порт

Объект.Disconnect();

   arian_

72 — 15.10.21 — 15:43

(70) Напишите что получилось. На следующей неделе тоже ожидает после перепрошивки…

   NikeArz

73 — 15.10.21 — 16:55

(71) Если честно то лет 15 так работает и не знаю.

   NikeArz

74 — 15.10.21 — 16:57

(71) У нас с 2007 года Штрихи стоят поэтому по многим моментам внимание не заострял. Работает и ладно.

   kupec

75 — 15.10.21 — 18:10

(71) Есть 2 варианта работы с ККМ, ну это как по мне….

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

2 — При попытке пробить чек из кассового ПО подключаемся к кассе и после завершения чека отключаемся от неё. Соответственно тоже самое для Z X отчетов и всяких там манипуляций с кассой.

Тут сам каждый для себя выбирает, как ему лучше работать. Например если в магазине, где поток народа практически всегда, соответственно лучше соединиться с кассой и занять порт на все время работы программы, а если у тебя дай бог раз в пол часа клиент, то тут наверно лучше и освобождать порт. На сколько мне известно, в 1С Розница как раз таки используется второй вариант по умолчанию. Т.е. после манипуляций с кассой порт освобождается

   anton-x

76 — 20.10.21 — 20:57

(60) Подскажи, пожалуйста, удалось побороть ошибку «Неразрешенные реквизиты»? Такая же ситуация, для следующей проверки.

   kupec

77 — 21.10.21 — 15:27

(76) Я приболел, нет возможности поковырять кассу, надеюсь на следующей неделе доберусь.

   anton-x

78 — 21.10.21 — 16:36

Скорейшего выздоровления! Коллеги, возможно у кого-то есть мысли по этому поводу? Суть в том, что последовательный вызов FNCheckItemBarcode() для второй марки выдаёт ошибку «Неразрешенные реквизиты». На сколько я понял, эту ошибку возвращает ФН. Как и писали коллеги выше, если переподключиться к драйверу, пропускает. По общей логике, я планирую пройтись по списку марок и принять или отвергнуть, и только затем перейти к регистрации позиций и закрытия чека.

   kupec

79 — 22.10.21 — 14:34

(78) Какая версия драйвера используется? У меня 874? но уже есть 883, может там уже это исправлено, посмотреть можно там http://doc.shtrih-m.ru/, кстати там есть и примеры для маркировки ФФД 1.2, но они мне не помогли, либо я что то не углядел.

   kupec

80 — 22.10.21 — 14:41

Почитал сейчас список изменений, то что стоит у меня 874 и текущая 883 как раз есть изменения и исправления при работе с КМ. Так что можно попробовать обновить драйвер до последней версии. Если будет возможность, отпишитесь про результат

   arian_

81 — 22.10.21 — 15:08

(78) На текущий момент стало поступать достаточно много вопросов связанных с причинами возникновения ошибки 11: «Неразрешенные реквизиты» в ответ на команду проверки кода маркировки (метод FNCheckItemBarcode, реализующий команду FF61h). Не смотря на то, что данная ошибки не декларирована в протоколе ФН под ФФД1.2, но она возникает. Причина ошибки в том, что при заполнении реквизитов, необходимых для проверки кода маркировки, пользователь (разработчик ПО) не заполняет все необходимые поля, а именно свойство TLVDataHex. Если не реализуется дробное кол-во предмета расчета, то в данное свойство нужно в явном виде передавать «пустую строку». Если этого не сделать, то в него будет внесен ответ от сервера ОИСМ от предыдущей проверки кода маркировки.

   arian_

82 — 22.10.21 — 15:09

(78) Если вы брали за основу мой код, то если у вас не дробное количество, то перед FR.FNCheckItemBarcode(); необходимо FR.TLVDataHEX = «»;

   kupec

83 — 22.10.21 — 19:01

(82) сделал предварительную обработку, помогло FR.TLVDataHEX = «», спасибо )))

   kupec

84 — 22.10.21 — 19:38

а есть ли у кого-нибудь описание CheckItemLocalError для ККМ?

   arian_

85 — 22.10.21 — 20:36

(84)

CheckItemLocalError ОшибкаЛокальнойПроверки

Тип: Integer / Целое

Причина, по которой не была проведена локальная проверка

Возможные значения:

0 – КМ проверен в ФН 1 – КМ данного типа не подлежит проверки в ФН 2 – ФН не содержит ключ проверки кода проверки этого КМ 3 – Проверка невозможна, так как отсутствуют идентификаторы применения GS1 91 и / или 92 или их формат неверный 4 –Внутренняя ошибка в ФН при проверке этого КМ

Список возвращаемых ошибок

https://docs.google.com/spreadsheets/d/19Mn5syH70XwFdg6Pe2fhYM17SNHGuOJDvQEQXHxSz54/edit#gid=0

   kupec

86 — 22.10.21 — 21:10

(85) я почему то у себя в руководстве программиста не могу найти данное описание, может есть ссылка, от куда взята данная информация, у меня наверно старая версия…хотя скачивал «типа» последнюю с сайта штриха

   arian_

87 — 22.10.21 — 21:37

(85) где-то на сайте штриха скачивал уже не помню: документация Руководство программиста от 02.03.2021

   kupec

88 — 22.10.21 — 22:09

у меня почему то от июня 2020 и новее не могу найти

Можно мне на почту скинуть документацию? В профиле адрес есть

   kupec

89 — 22.10.21 — 22:38

   kupec

90 — 22.10.21 — 22:39

   victuan1

91 — 23.10.21 — 06:46

(90) Но методов нового драйвера (5.16) в ней так и нет, например, метода очистки буфера КМ — FNMarkingClearBuffer.

   anton-x

92 — 25.10.21 — 09:50

(80) Версия тоже 874. Помогло TLVDataHEX = «». На новой сборке драйвера пока не пробовал. Но постараюсь проверить позже.

   kupec

93 — 25.10.21 — 16:05

Совершил тестовую продажу, вроде все удачно, на чеке написалось М+, только не понятно…..напротив данной буквы еще какие то 4 цифры,что это такое?

   kupec

94 — 25.10.21 — 16:18

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

   arian_

95 — 25.10.21 — 18:36

(94) Тем, кто продает шубы, изделия из натурального меха и алкоголь — на эти группы товаров ФФД 1.2 не распространяется. Вроде так.

   victuan1

96 — 26.10.21 — 07:10

   victuan1

97 — 26.10.21 — 07:11

(94) Алкоголь не считается маркированным СИ (средствами идентификации), поэтому его передаем только в УТМ.

   victuan1

98 — 26.10.21 — 07:12

(95) Также как в ФФД 1.05 и 1.1, их выбытие отражают не через чек ККТ.

   SmallAngryCat

99 — 26.10.21 — 11:33

(93) Подскажите как добиться появления этой волшебной буквы [М+] на чеке? У меня марка проходит проверку, в ОФД отправляется, в ЦРПТ выбывает из оборота, а буквы на чеке все равно нет. Может в таблицах ФР что-то нужно настроить?

   kupec

100 — 26.10.21 — 11:43

таблица 17 поле 25 вроде как, печать тэгов

Recommend Projects

  • React photo

    React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo

    Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo

    Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo

    TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo

    Django

    The Web framework for perfectionists with deadlines.

  • Laravel photo

    Laravel

    A PHP framework for web artisans

  • D3 photo

    D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Visualization

    Some thing interesting about visualization, use data art

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo

    Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo

    Microsoft

    Open source projects and samples from Microsoft.

  • Google photo

    Google

    Google ❤️ Open Source for everyone.

  • Alibaba photo

    Alibaba

    Alibaba Open Source for everyone

  • D3 photo

    D3

    Data-Driven Documents codes.

  • Tencent photo

    Tencent

    China tencent open source team.

Понравилась статья? Поделить с друзьями:

Не пропустите эти материалы по теме:

  • Яндекс еда ошибка привязки карты
  • 91d7 ошибка мерседес вито
  • 91c0 ошибка mercedes
  • 917807 ошибка мерседес
  • 9150 ошибка вольво

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии