Ошибка программирования реквизита 1197 атол 1с

Добрый день! Перевожу у клиента ККМ Атол 55Ф на 5 платформу, ФФД 1.2 для корректной работы с маркировкой.
На рабочем месте 2 ККМ: ООО для алкоголя(2 платформа), ИП для остального товара и табака (5 платформа). Первая проблема возникла при подключении ККМ на 5 платформе через Вэб сервер. Если настроил и подключил эту ККМ (ИП), попытался проверить связь, снять отчет, то в драйвере Атол вторую кассу уже не найти. Нужно или удалить порт с драйвером и установить заново или остановить вэб сервер. Долго возились, пока не подключили ККМ ИП по TCP/IP , ККМ ООО осталась на СОМ порту и устойчиво все работает. Затем появилась ошибка реквизита 1197. ТП подсказали, обновил библиотеку Device Menager. После этого получилось продать пакет. Пробуем продать сигареты и получаем сообщение «Ошибка парсинга запроса (некорректное значение поля)». Ошибка от ККМ, но Атол ответил, что она(ошибка) от торговой программы.
1. Скрин

https://yadi.sk/d/o7t8qGXS9mQ_uA

2.Лайт версия 74.
3.Windows 7. Service Pack 1.
4.База на SQL Express 2008.
5.Настройки Лайта

https://yadi.sk/d/aOuOF-yo0vx6Xw

.
6.Лог ошибок

https://yadi.sk/d/ryVLDVPMN-gF1Q

.
7. PortMon здесь.

https://yadi.sk/d/krOy0ZvQ42PsEQ

8.Описание последовательности. Запустил Лайт, считал сканером пачку сигарет, нажалF9 и Enter. Все. Инн кассира, ИП введены верно.
Воспроизвожу ошибку сам в любое время, хозяева смотрят косо, но терпят.
Получил ответ ТП: Новая библиотека devicemanager.dll работает с ФФД 1.2, а у Вас используется ФФД 1.1
Здесь Получил ответ от Техподдержки: Новая библиотека devicemanager.dll работает с ФФД 1.2, а у Вас используется ФФД 1.1. Здесь всплыла проблема Атола. В драйвере10.8 не виден формат 1.2, перерегистрацию делал на 10.9. Вэб сервер имеет версию 10.8.0.1 и с драйвером10.9 работать не может. А версия 10.8.0.1, работающая с вэб сервером не понимает ФФД 1.2. Это и озвучила техподдержка Микроинвеста. Предложили подключить через СОМ порт. Появилась ошибка про создание объекта Атол СОМ порт. Пока дошел до этого.

v7: Передача тэгов маркируемой продукции ☑ 0

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

2

kupec

05.10.21

12:33

0104607004892936215yQnIO #29 93FXLQ #13

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

3

Злопчинский

05.10.21

12:34

типа да

4

kupec

05.10.21

12:38

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

5

victuan1

05.10.21

17:22

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

6

victuan1

05.10.21

17:24

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

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

7

victuan1

05.10.21

17:26

Пример 1:

Считанная бинарная последовательность: 010460043993125621JgXJ5.T\u001d8005112000\u001d930001\u001d923zbrLA==\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.

8

kupec

06.10.21

10:16

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

9

NorthWind

06.10.21

10:22

(2) 0104607004892936215yQnIO #29 93FXLQ #13

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

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

(01)04607004892936

(21)5yQnIO #29 93FXLQ #13

10

NorthWind

06.10.21

10:23

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

11

victuan1

07.10.21

06:33

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

12

victuan1

07.10.21

07:07

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

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

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

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

13

kupec

08.10.21

10:05

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

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

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

            FR.MarkingType=17485;    

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

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

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

            FR.FNSendItemCodeData();        

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

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

14

victuan1

08.10.21

11:40

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

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

15

victuan1

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=

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

16

kupec

08.10.21

11:48

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

17

victuan1

08.10.21

11:48

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

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

18

victuan1

08.10.21

11:48

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

19

kupec

08.10.21

11:50

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

20

victuan1

08.10.21

11:54

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

21

kupec

08.10.21

12:27

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

0104601216012779215XIPBe<0x1D>931eil

FNCheckItemBarcode

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

22

kupec

08.10.21

12:31

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

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

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

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

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

23

kupec

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

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

24

victuan1

08.10.21

14:09

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

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

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

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

25

kupec

08.10.21

14:22

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

26

kupec

08.10.21

14:29

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

27

victuan1

08.10.21

14:32

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

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

28

kupec

08.10.21

15:05

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

0104601216012779215XIPBe<0x1D>931eil

29

kupec

08.10.21

15:07

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

30

victuan1

08.10.21

15:49

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

(28) См. (24)

31

kupec

08.10.21

15:52

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

32

victuan1

08.10.21

15:53

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

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

33

victuan1

08.10.21

15:54

34

kupec

08.10.21

16:00

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

35

victuan1

08.10.21

16:07

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

36

brainguard

08.10.21

16:09

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

37

kupec

08.10.21

16:42

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

38

victuan1

08.10.21

17:08

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

39

arian_

11.10.21

18:06

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

40

Злопчинский

11.10.21

18:22

(39) а шо?

41

arian_

11.10.21

18:30

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

42

victuan1

12.10.21

05:48

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

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

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

43

arian_

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 необходимо еще передать в ККМ или этого достаточно для того, чтобы чек пробился правильно? При условии что товар продается целыми шиуками.

44

victuan1

12.10.21

06:53

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

45

arian_

12.10.21

08:11

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

46

victuan1

12.10.21

09:45

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

47

arian_

12.10.21

09:48

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

48

arian_

12.10.21

09:50

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

49

victuan1

12.10.21

10:08

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

50

victuan1

12.10.21

10:09

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

51

arian_

12.10.21

10:15

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

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

…….

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

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

52

victuan1

12.10.21

10:18

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

53

arian_

12.10.21

10:20

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

54

arian_

12.10.21

10:21

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

55

arian_

12.10.21

10:24

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

56

victuan1

12.10.21

10:26

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

57

victuan1

12.10.21

10:27

(55) Да, тоже.

58

victuan1

12.10.21

10:27

(54) Да

59

arian_

12.10.21

10:29

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

60

kupec

12.10.21

16:53

глФР.BarCode = qr;

глФР.ItemStatus = 1;

глФР.FNCheckItemBarcode();

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

61

arian_

12.10.21

21:12

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

глФР.FNAcceptMarkingCode();

глФР.Barcode = qr;

глФР.FNSendItemBarcode();

глФР.FNCloseCheckEx();

62

arian_

12.10.21

21:14

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

глФР.FNAcceptMarkingCode();

глФР.Barcode = qr;

глФР.FNSendItemBarcode();

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

глФР.FNCloseCheckEx();

63

arian_

12.10.21

22:55

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

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

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

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

64

kupec

13.10.21

13:25

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

65

arian_

13.10.21

15:30

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

66

kupec

14.10.21

16:24

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

    FR.Password=30;

    FR.ItemStatus=1;

    FR.CheckItemMode=0;

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

    FR.FNCheckItemBarcode();

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

        Возврат;

    КонецЕсли;

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

67

arian_

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));

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

68

arian_

15.10.21

13:58

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

69

NikeArz

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();

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

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

70

kupec

15.10.21

15:39

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

71

arian_

15.10.21

15:43

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

Объект.Disconnect();

72

arian_

15.10.21

15:43

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

73

NikeArz

15.10.21

16:55

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

74

NikeArz

15.10.21

16:57

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

75

kupec

15.10.21

18:10

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

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

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

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

76

anton-x

20.10.21

20:57

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

77

kupec

21.10.21

15:27

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

78

anton-x

21.10.21

16:36

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

79

kupec

22.10.21

14:34

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

80

kupec

22.10.21

14:41

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

81

arian_

22.10.21

15:08

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

82

arian_

22.10.21

15:09

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

83

kupec

22.10.21

19:01

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

84

kupec

22.10.21

19:38

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

85

arian_

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

86

kupec

22.10.21

21:10

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

87

arian_

22.10.21

21:37

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

88

kupec

22.10.21

22:09

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

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

89

kupec

22.10.21

22:38

90

kupec

22.10.21

22:39

91

victuan1

23.10.21

06:46

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

92

anton-x

25.10.21

09:50

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

93

kupec

25.10.21

16:05

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

94

kupec

25.10.21

16:18

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

95

arian_

25.10.21

18:36

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

96

victuan1

26.10.21

07:10

97

victuan1

26.10.21

07:11

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

98

victuan1

26.10.21

07:12

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

99

SmallAngryCat

26.10.21

11:33

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

100

kupec

26.10.21

11:43

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

101

kupec

26.10.21

11:45

(97) вот как выглядит чек для прошлого ФФД, https://receipt.taxcom.ru/v01/show?fp=1026829965&s=277.4 буква М там есть

102

kupec

26.10.21

11:52

103

SmallAngryCat

26.10.21

11:57

(100) Спасибо! Помогло!

104

kupec

26.10.21

14:40

Сделал передачу данных через тэги для алкогольной продукции, все расно не печатает символику М

105

kupec

26.10.21

14:45

в итоге для FNSendTagOperation что для алкоголя передавать?

106

kupec

26.10.21

14:46

Верхняя строка не то написал, вот для этого PaymentItemSign

107

victuan1

26.10.21

20:55

(102) Такском бредит.

108

kupec

26.10.21

22:43

(107) там ссылка на налог ру

109

kupec

26.10.21

22:51

110

victuan1

27.10.21

06:23

(109) И что? Сферический конь в вакууме. //в той же ссылке … (рекомендовано)… 5 Обязанность заполнения реквизита «код товара» (тег 1163) регламентируется постановлениями Правительства Российской Федерации в отношении отдельных видов товаров. …

Для алкоголя нет соответствующего Постановления Правительства РФ. Может будет в будущем, но на текущий момент —  нет!

Еще раз: нет нпа, обязывающего заполнять тег 1162 (1162) для товаров, маркированными ЦИ (цифровыми идентификаторами) ЕГАИС.

Есть только обязанность для отдельных видов товаров, маркированных СИ (средствами идентификации) — маркировка «Честный ЗНАК».

111

victuan1

27.10.21

06:32

25 декабря 2019 года опубликован приказ MMB-7-20/434@ «О внесении изменений в приложение №2» к приказу Федеральной Налоговой Службы от 21.03.2017 N ММВ-7-20/229@ «Об утверждении дополнительных реквизитов фискальных документов и форматов фискальных документов, обязательных к использованию».

Т.к. алкоголь не относится к системе маркировки Честный знак, то алкоголя это не касается.

А если следовать логике «несогласных», то получится, что ШК в формате EAN-8, UPC-E, EAN-13, UPC-A, ITF-14 тоже нужно передавать в теге 1162, т.к. они поименованы в таблице 50 обсуждаемого приказа наравне с кодировкой ЕГАИС и маркированного ЧЗ товара.

Я понимаю этот Приказ так:

КОГДА появится требование передавать код маркировки алкоголя в ОФД (ЧЗ), ТОГДА нужно его передавать по таблице 50 из Приказа.

ПОКА обязанности передавать код алкоголя в ОФД нет. А приказ ввел общие принципы, в т.ч. резерв для будущего применения.

Назначение реквизита «код товара» определено в Постановлении Правит-ва № 174 от 21.02.2019 — реквизит предназначен для товаров с обязательной маркировкой по ФЗ-381 «Об основах госуд. регулирования торговой деятельности». Согласно ФЗ-381, перечень таких товаров определен в Распоряжении Правительства от 28.04.2018 № 792-р, в нем нет алкогольной продукции.

Получается, ОБЯЗАННОСТИ передавать ЦИ ЕГАИС нет, — но есть техническая ВОЗМОЖНОСТЬ это делать (поэтому ФНС и пишет только лишь — «рекомендовано»).

Но решать вам — брать ли на себя эти дополнительные хлопоты по передаче ЦИ в тег 1162(1163) в отсутствии ОБЯЗАННОСТИ.

112

victuan1

27.10.21

06:34

Помимо указанных выше в теме фактов, были внесены еще дополнения в 54-ФЗ. Согласно новому п. 6.1 статьи 1.2:

«6.1. Пользователи, которые осуществляют расчеты за товары, маркированные средствами идентификации (далее — маркированные товары), и которые в соответствии с законодательством Российской Федерации должны направлять (вносить) информацию о таких товарах в государственную информационную систему мониторинга за оборотом товаров, подлежащих обязательной маркировке средствами идентификации, или федеральную государственную информационную систему мониторинга движения лекарственных препаратов для медицинского применения от производителя до конечного потребителя с использованием в отношении лекарственных препаратов для медицинского применения средств идентификации (далее — информационные системы маркировки), в момент расчета за такие товары обязаны формировать данные о таких товарах, предусмотренные законодательством Российской Федерации о применении контрольно-кассовой техники, в виде запросов о коде маркировки и уведомлений о реализации маркированного товара в электронной форме с использованием контрольно-кассовой техники, обеспечивающей возможность формирования указанных данных и их передачу с использованием этой контрольно-кассовой техники оператору информационных систем маркировки через оператора фискальных данных, за исключением случаев, предусмотренных пунктом 7 статьи 2 и пунктом 2.1 статьи 5 настоящего Федерального закона.

Про товары, подлежащие внесению в систему ЕГАИС, тут не слова, значит не нужно.

113

victuan1

27.10.21

06:34

Еще одна выгрызка из Приказа ФНС. Это примечания 19 и 20 к Таблице 20 «Структура данных реквизита «предмет расчета»». Имхо, это окончательное доказательство того, что запись акцизок и EAN в 1162 — просто акт доброй воли.

19. Реквизит «код товара» (тег 1162) включается в состав кассового чека (БСО) при возврате или продаже товара, маркированного средством идентификации, и может не включаться в состав кассового чека (БСО) в иных случаях.

20. При осуществлении операций с товаром, маркированным средством идентификации, реквизит «код товара» (тег 1162), включаемый в состав кассового чека (БСО) в ЭФ, формируется в соответствии с таблицей 50.

При осуществлении иных операций значение реквизита «код товара» (тег 1162), в случае его включения в состав кассового чека (БСО), формируется в соответствии с таблицей 50.

114

victuan1

27.10.21

06:38

ОФД «Такском» вот что ответил: «Тег 1162 используется для передачи признака маркировки, входящих в перечень ЦРПТ»

(алкоголь в этот перечень не входит).

115

rougudz

27.10.21

11:58

привет всем! у меня драйвер версии 5.16_877.

попробовал сделать передачу марок на версии 1.2 все взлетело но несколько моментов не понятно

1. команда FNAcceptMarkingCode(); //принять код маркировки

у меня вообще не проходит — нет такого свойства, делал без нее

2. команды MarkingType2, KMServerErrorCode, CheckItemLocalError также драйвером не опознаются

непонятно название команд FNAcceptMarkingCode и FNDeclineMarkingCode

у меня они вообще не опознаются драйвером.

3. если марка отвергнута кассой после проверки, будет ли она передана в ЧЗ если ее не удалять из чека? и вообще такой чек пробьется?

в ЦТО меня уверяли, что будет и что в чеке будет написано «-М», проверить сие не получилось так как нету пока таких марок.

у меня взлетело так?

сперва проверка всех марок:

ТаблМарк.ВыбратьСтроки();

Пока ТаблМарк.ПолучитьСтроку() = 1 Цикл

    FR.Password=30;

    FR.ItemStatus=1; //1-проджажа 3 возврат

    FR.CheckItemMode=0;

    FR.Barcode=СокрЛП(ТаблМарк.Марка);

    FR.TLVDataHEX = «»;

    FR.FNCheckItemBarcode();

    Если FR.ResultCode <> 0 Тогда

        Результат = FR.ResultCodeDescription;

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

        Сообщить(«В строке: «+СпС(ТаблМарк.Строка)+», марка отклонена, удалите из чека»,»!!!»);

        Сообщить(»        Ответ ККМ: «+СпС(FR.ResultCodeDescription),»!»);

        МаркиВалидны = 0;

    Иначе

    КонецЕсли;

КонецЦикла;

потом их отправка в цикле по всему товару:

FR.Пароль=»30″;

FR.CheckType = 1; //Тип операции (1 — Приход, 2 — Возврат прихода, 3 — расход, 4 — возврат расхода)

КМ = ВернутьМаркуТовара(ТаблТовара.Товар,Таблтовара.НомерСтроки);

Если ПустаяСтрока(КМ)=0 Тогда

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

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

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

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

КонецЕсли;

FR.Price = ТаблТовара.Цена;

FR.Quantity = ТаблТовара.Кол;

FR.Summ1Enabled = 1;

FR.Tax1 = 0;

FR.Department = 1;

FR.Summ1 = ТаблТовара.Сумма;

FR.PaymentTypeSign = 4; // за нал или карту

FR.PaymentItemSign = 1;

FR.StringForPrinting = Строка(ТаблТовара.Товар);  

FR.FNOperation();

КМ = ВернутьМаркуТовара(ТаблТовара.Товар,Таблтовара.НомерСтроки);

Если ПустаяСтрока(КМ)=0 Тогда

    FR.Password=»30″;

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

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

КонецЕсли;

116

arian_

28.10.21

15:17

(115) если у вас напротив маркированного товара не выходит [М+], то у вас не взлетело. Все эти команды должны быть доступны после FR.FNCheckItemBarcode();

117

arian_

28.10.21

15:18

Подскажите по маркированному товару в чеке в ОФД в поле ПРИЗНАК ПРЕДМЕТА РАСЧЕТА что должно стоять? У меня пусто, хотя М+ есть и марки списываются.

118

NikeArz

28.10.21

15:29

(117) У нас также. Марки уходят и ОФД и ЧЗ. Вероятно в ОФД не доработано.

119

victuan1

28.10.21

15:35

(117) А в бумажно чеке что стоит?

120

arian_

28.10.21

15:40

(119) бумажный не могу посмотреть. не нахожусь там физически. а кассир не сфоткала чек. А разве в бумажном чеке признак предмета расчета выводится? По моему такого там нет параметра. В ОФД напротив немаркированного товара выводится «Товар»

121

arian_

28.10.21

15:53

(118) на ИТС написано что при коде 33 в печатном чеке значение ТМ. У вас такое есть?

122

victuan1

28.10.21

19:18

(120) Да, выводится — ТМ.

123

arian_

28.10.21

20:08

В тэгах на ОФД видно что передается и признак способа расчета и признак предмета расчета. Но вот на бумажном чеке не отображается. Это как то регулируется видимо в настройках драйвера.

124

victuan1

29.10.21

05:51

(123) Для того чтобы включить печать тегов в бумажном чеке дляШтрих-М выполните следующие рекомендации:

1) Данные теги печатаются автоматически при условии их заполнения в методе FNOperation (свойства PaymentTypeSign и PaymentItemSign). Единственное, в в Тесте драйвера ФР 4.14 в таб №17, поле №12 необходимо выставить значение «32».

2) Так же можно использовать встроенный механизм печати значения тегов.

Включается данный механизм в таб №17, поле №25 «Автопечать тегов» установкой значения «1». При этом никаких доп. методов для печати на чеке применять не нужно.

3) Настройка печати обязательных тегов:

https://docs.google.com/document/d/1d8qhpvmKliVR1XS-76Gom0H4cskkzYMXGzNOfleyiiA/

Помогло у клиента:

Тест драйвера, таблица 17:

поле 10 поменял с 0 на 1

поле 12 поменял с 0 на 32

поле 17 поменял с 0 на 2

поле 25 поменял с 0 на 1

поле 39 поменял с 0 на 1

125

rougudz

29.10.21

08:25

(116) все эти комадны оказывается доступны только с версии 4.16 драйвера, а М+ выходит в чеке, в ЧЗ продажа есть и 1162 тег тоже.

126

victuan1

29.10.21

09:35

(125) 4.16 — нет. Может 5.16?

Но у меня работает и на 4.15 и на 5.16?

127

rougudz

29.10.21

12:19

(126) ну да 5.16 конечно. а вот 4.15 у меня валится с ошибкой на эти команды. нее понимает их, от слова совсем.

128

victuan1

29.10.21

13:23

(127) А какой точный номер версии?

У меня на 4.15.829 всё работает кроме метода очистки буфера КМ, но этот метод не обязательный, т.к. буфер сам очищается при каждом закрытии чека и при выключении ККМ.

129

victuan1

29.10.21

13:24

(127) Можно точный текст ошибки?

130

rougudz

29.10.21

15:30

(128) 4.15.842

131

rougudz

29.10.21

15:32

(129) к сожалению сейчас не смогу надо к клиентам ехать в магазин что сие повторить.

в ближайшее время не собирался, все пока работает.

но ошибка аналогичная если ошибиться и неправильно написать команду, например вместо FR.Password написать FR.Passwor

драйвер просто не понял такой команды.

132

victuan1

29.10.21

16:44

(131) «Поле агрегатного объекта не обнаружено»?

133

kupec

03.11.21

10:53

А кто-нибудь знает, как передавать маркировку туалетной воды через ФФД 1.1? С какого символа и сколько передавать SerialNumber? Данные в честный знак у меня попали, но в статусе написано что обработан с ошибкой

134

kupec

03.11.21

11:30

Первые 2 символа «01» — идентификатор применения;

Следующие 14 символов «04607428679083» — код товара, GTIN;

Следующие 2 символа «21» — идентификатор применения;

Следующие 13 символов «kv!ZpGGIa8J8V» — уникальный серийный номер;

Следующие 2 символа «91» — идентификатор применения;

Следующие 4 символа «TEST» — ключ проверки;

Следующие 2 символа «92» — идентификатор применения;

Следующие 44 символа «dGVzdLU1QI9uOxJW/B3AHN8FOGXTyDBEVkR+j1oN2MI=»— код проверки.

Получается с 19 символа 13 символов

135

rougudz

04.11.21

09:28

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

ответ ЧЗ по поводу ошибки:

Чек ************* был обработан с ошибкой, т.к. параметр «paymentType» (Способ расчета) имеет некорректное значение, а именно: 1 — Предоплата 100%.

Допустимые значения «paymentType» при его наличии в ФД:

°    4 — Полный расчет

°    5 — Частичный расчет в кредит

°    6 — Передача в кредит

Чеки передаются в информационную систему «Честный знак» для передачи информации о движении маркированного товара. Причины внесения оплаты:

1        Предоплата 100%

2        Частичная предоплата

3        Аванс

7        Оплата кредита

не подразумевают передачи прав собственности на маркированный товар, они только подтверждают факт проведения расчетов между покупателем и участником оборота маркированных товаров. Это указано в Приложении 2 к Приказу ФНС России от 14.09.2020 № ЕД-7-20/662@ в описании тега 1214. По этой причине они не могут быть обработаны в информационной системе «Честный знак».

у меня в случае полной оплаты товара сертификатом передавался paymentType=1, в случае частичной оплаты товара сертификатом paymentType=2

оказалось, что так нельзя. ошибка была в этом

136

leshikkam

06.11.21

16:27

Коллеги, подскажите пожалуйста, для шин как корректно сформировать КМ в Base64?

Вот так выглядит исходный код:

(01)04607149788118(21)EdbcaF/D

137

victuan1

07.11.21

06:03

(136) Он должен выглядеть не так, видимо взят из электронных документов, а не сканирован сканером с «живого» кода на этикетке товара.

138

kupec

07.11.21

18:20

(135) Это точно не мой вариант, у меня везде стоит «Полный расчет»

139

kupec

07.11.21

18:20

Говорят в честном знаке возврат не реализован на данный момент…кроме табака

140

victuan1

08.11.21

08:13

(139) Через коррекции версии 1.1 можно делать возврат любых маркированных товаров.

141

victuan1

08.11.21

08:14

(140) А также обычным чеком любых товаров надлежащего качества, возврат которых разрешен законодательством (значит непродовольственных).

142

rougudz

08.11.21

09:10

(139) все отлично делается по обувь/одежда, что в 1.1 версии офд, что в 1.5.

143

victuan1

08.11.21

17:05

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

144

kupec

09.11.21

11:37

А каким образом будет продаваться маркированный весовой сыр, или это пока даже не рассматривается?

145

kupec

09.11.21

11:37

(143) пытался вернуть туалетную воду….ОШИБКА в честном знаке

146

NikeArz

09.11.21

12:32

(139) Пробовал шины возвращать — работает.

147

victuan1

09.11.21

15:05

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

148

kupec

11.11.21

17:45

(146) в честном знаке появляется возврат в оборот? И без ошибок?

149

anton-x

29.11.21

09:34

Коллеги, кто сталкивался, марка проверку проходит, на чеке печатается [М]?. В ОФД в чеке марки тоже нет.

150

victuan1

30.11.21

05:20

(144) C 20.01.21 код маркировки головы сыра выводится целиком при первом отрезе через документ «Вывод из оборота ГИСМТ» (через ЛК ГИСМТ или через АПИ из 1С). Продажа отрезанных зафасованных кусков головы через ККТ производится как обычного товара, без передачи кода маркировки.

Честный знак только планирует рассмотреть внедрение частичного выбытия фасованного товара через ККТ (с указанием КМ и доли проданной части) как это реализовано например, для лекарств и парфюмерии.

151

kupec

06.12.21

21:09

(150) а из 7.7 реально сделать данное списание? Документ то понятно, что можно сделать, а вот как быть со списанием в честном знаке…..

152

Злопчинский

06.12.21

21:34

(151) в 7.7 сделать реально все.

153

victuan1

07.12.21

05:27

(151) Да, мы это уже сделали именно в 1С 7.7

154

kupec

09.12.21

20:01

(153) а можно объяснить, как это должно работать? Пример какой-нибудь небольшой…какой алгоритм в программе использовать.

155

victuan1

10.12.21

05:04

(154) Использовать АПИ Честного знака, отправляя запрос в формате JSON или XML, подписав его КЭП.

156

kupec

14.12.21

20:33

(155) это через крипто про подписывается? csptest вроде как файл называется. И можно ссылку на АПИ честного знака, где можно описание почитать

157

victuan1

15.12.21

06:35

158

helloman

20.01.22

10:30

Подскажите списываю шины, в ОФД маркировка попадает, но в чеке и в ЧЗ не списывается. Сам код маркировки не нужно преобразовывать? Поделитесь рабочим кодом пожалуйста

159

victuan1

21.01.22

05:05

(158) Теги покупателя в чеке указаны? Модель ККТ и прошивка какие?

160

helloman

21.01.22

09:31

(159) ШТРИХ-М-02Ф

Версия ПО                 : C.3

Сборка ПО                 : 41963

Дата ПО                   : 26.08.2021

В ОФД отображается в чеке:

Код маркировки 444D 03528705844820 sFCps»fsueNLp

Код товара КТ GS1.0 010352870584482021sFCps»fsueNLp

GTIN 03528705844820

S/N sFCps»fsueNLp

В JSON

{

      «quantity»: 1,

      «price»: 340000,

      «name»: «автошина 185/60R14 KORMORAN ROAD 82H»,

      «itemsQuantityMeasure»: 0,

      «sum»: 340000,

      «nds»: 6,

      «productCodeNew»: {

        «gs1»: «010352870584482021sFCps\»fsueNLp»

      },

      «productType»: 1,

      «paymentType»: 4

    }

Вот часть кода:

        Если ПустаяСтрока(ШтрихкодМарки) Тогда

            FR.PaymentTypeSign = 4; // Признак способа расчета (Полный расчет)

                                    // Необходим для ФФД 1.05

            FR.PaymentItemSign = 1; // Признак предмета расчета (Товар)

                                    // Необходим для ФФД 1.05             

                                    
        Иначе

            FR.PaymentTypeSign = 4;

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

            FR.MeasureUnit = 0;

        КонецЕсли;

        FR.FNOperation();

        
        Если НЕ ПустаяСтрока(ШтрихкодМарки) Тогда            

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

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

        КонецЕсли;

161

victuan1

21.01.22

11:45

(160) FR.PaymentItemSign = 31

говорит о том, что используется ФФД 1.2, но при этом передается неполный КМ — так нельзя.

162

helloman

21.01.22

12:36

(161) Можете уточнить как правильно?

163

Злопчинский

21.01.22

14:21

(162) внезапно м.б. передавать полный КМ..?

164

victuan1

21.01.22

14:30

(162) Так какой ФФД используется? 1.05/1.1 или 1.2?

165

helloman

21.01.22

15:04

(164) ФФД 1.2

166

victuan1

21.01.22

22:31

(165) Тогда надо передавать полный КМ

167

Злопчинский

21.01.22

22:35

я так и знал!

168

helloman

22.01.22

09:59

(166) Что значит полный? Отсканированный сканером, какая длина?

169

helloman

22.01.22

10:00

(166) Код меняется или такой как я привел выше?

170

victuan1

24.01.22

06:55

(168) Да, отсканированный сканером как есть, включая служебные символы GS.

Код меняется, т.к. в приведенном коде нет методов онлайн-проверки КМ и обработки результата проверки.

Обсуждали для 1с 7.7 здесь Некорректная операция, внутреняя ошибка ПО ФФД1.2

171

velsan23

07.02.22

09:08

Может кто сталкивался, ошибка при проверки кода маркировки (FNCheckItemBarcode) выходит ошибка -1 (нет связи), после зависания 5-10 сек, при этом связь есть и до выполнения функции проверки и после (проверяю Объект.Драйвер.WaitForPrinting() — выдает 0 — ошибок нет)

172

stans

21.02.22

12:14

Добрый день! Полная каша уже в голове! Давайте подытожим:

У нас автошины и одежда

Что итогу в 1163 передаем

01ГТИН21СерийныйНомер или весь код?

Нужно ли переводить в двоичные данные?

Нужно ли кодировать?

Куда подставлять символ Символ(29)?

Нужно ли в начале добавлять FNC1?

173

stans

21.02.22

17:19

Еще одна беда:

Кодирую и отправляю один код — все хорошо, то же самое делаю с другим — от серийного номера в ОФД отображается только первые 2 символа и все…

174

victuan1

24.02.22

06:58

(172) «01ГТИН21СерийныйНомер или весь код?» в тег 1163 (используется в ФФД 1.2) передается весь код.

«Нужно ли переводить в двоичные данные? Нужно ли кодировать?»

зависит от софта. Если использовать родные драйверы Атол и Штрих-М, то не надо.

«Куда подставлять символ Символ(29)?»

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

«Нужно ли в начале добавлять FNC1?»

Ни в коем случае. Этот символ не является частью кода, а используется только в технологии нанесения изображения штрих-кода, чтобы сканер мог его отличить от других типов ШК.

175

victuan1

24.02.22

06:59

(173) Неверно настроенный сканер или кривые руки программиста, писавшего код.


1

ответов

Обновление компоненты онлайн-кассы. Какая у вас модель аппарата?

Похожие вопросы

Обсуждают сегодня

Расскажите, как вразумительно сохранить проекты и вложения к ним?

Если Оду вдруг загрустит, то как восстанавливается это всё потом?

Вложения лежат в filestore или в базе дан…


Roman


37

Привет! Как реализовать паттерн outbox, когда есть 2 реплики его читающие?

Есть 2 го сервиса, которые вычитывают outbox табличку и создают ивенты. Но т.к. реплики 2, то кажда…


Rostislav Teryaev


30

Что делаете с подобным ?


Gonchik Tsymzhitov


25

Как я понял MVC примерно так работает, да?


.


22

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


Роман Праслов


20

Здравствуйте. Посоветуйте плиз.
Есть статистика посещений, храним ее в Elasticsearch (но полнотекстовый поиск не используется). 1 день = 1 индекс,параметров около 20, потом к…


Павел Г.


20

а что вы имеете в виду под локами?


capybara


19

Ребят, я возможно отстал от поезда, подскажите по поводу синхронной репикации. Я правильно понимаю, что настройка самой репликации в box.cfg аналогична по параметрам асинхронн…


Dmitry Lukovkin


17

Приветствую. Подскажите пожалуйста есть ли возможность сформировать https ссылку на конкретное изменение определенного коммита в репозитории? Чтобы, к примеру, пользоваться эт…


sol4rinn


16

Люди скажите пожалуйста в minishop2 можно 2 цены сделать? Типа как опт и розница!? или для гостей и группы пользователей — например так? Может можно где почитать? или вот есть…


Александр Сенькин


14

Добрый день! Перевожу у клиента ККМ Атол 55Ф на 5 платформу, ФФД 1.2 для корректной работы с маркировкой.
На рабочем месте 2 ККМ: ООО для алкоголя(2 платформа), ИП для остального товара и табака (5 платформа). Первая проблема возникла при подключении ККМ на 5 платформе через Вэб сервер. Если настроил и подключил эту ККМ (ИП), попытался проверить связь, снять отчет, то в драйвере Атол вторую кассу уже не найти. Нужно или удалить порт с драйвером и установить заново или остановить вэб сервер. Долго возились, пока не подключили ККМ ИП по TCP/IP , ККМ ООО осталась на СОМ порту и устойчиво все работает. Затем появилась ошибка реквизита 1197. ТП подсказали, обновил библиотеку Device Menager. После этого получилось продать пакет. Пробуем продать сигареты и получаем сообщение «Ошибка парсинга запроса (некорректное значение поля)». Ошибка от ККМ, но Атол ответил, что она(ошибка) от торговой программы.
1. Скрин

https://yadi.sk/d/o7t8qGXS9mQ_uA

2.Лайт версия 74.
3.Windows 7. Service Pack 1.
4.База на SQL Express 2008.
5.Настройки Лайта

https://yadi.sk/d/aOuOF-yo0vx6Xw

.
6.Лог ошибок

https://yadi.sk/d/ryVLDVPMN-gF1Q

.
7. PortMon здесь.

https://yadi.sk/d/krOy0ZvQ42PsEQ

8.Описание последовательности. Запустил Лайт, считал сканером пачку сигарет, нажалF9 и Enter. Все. Инн кассира, ИП введены верно.
Воспроизвожу ошибку сам в любое время, хозяева смотрят косо, но терпят.
Получил ответ ТП: Новая библиотека devicemanager.dll работает с ФФД 1.2, а у Вас используется ФФД 1.1
Здесь Получил ответ от Техподдержки: Новая библиотека devicemanager.dll работает с ФФД 1.2, а у Вас используется ФФД 1.1. Здесь всплыла проблема Атола. В драйвере10.8 не виден формат 1.2, перерегистрацию делал на 10.9. Вэб сервер имеет версию 10.8.0.1 и с драйвером10.9 работать не может. А версия 10.8.0.1, работающая с вэб сервером не понимает ФФД 1.2. Это и озвучила техподдержка Микроинвеста. Предложили подключить через СОМ порт. Появилась ошибка про создание объекта Атол СОМ порт. Пока дошел до этого.

1c Управление небольшой фирмой, 1С Управление торговлей 10.3, 1C Предприятие, 1С Бухгалтерия, Мобильная касса и ККТ АТОЛ 11Ф, 1с Розница ошибка фн 212, 1с и атол ошибка 231

1c. Подключение и настройка торгового оборудования. Сканер, ККТ, весы, эквайринг, принтер этикеток.

Не работает сканер, весы, ККТ и эквайринг, оставляйте заявку в комментариях, либо

— Пишите в

WhatsApp +7(987)-268-84-37

1C Розница 2.3. Принтер этикеток АТОЛ BP21 не печатает, что делать?

1с Розница 2.2 печать кассира в чеке.

Пишите в support@kasselect.ru, +7(987)-268-84-37 WhatsApp

1. Ошибка программирования реквизита

Недопустимое сочетание реквизитов — Нужно проверить передаваемые реквизиты на соответствие с параметрами регистрации. Узнать на каком реквизите выходит ошибка.

148 Ошибка программирования реквизита 1002 — Нужно проверить параметры регистрации ККТ и настройки подключения кассы в 1с.

148 Ошибка программирования реквизита 1162 — Нужно обновить 1с, чтобы программа передавала этот реквизит.

1с Розница -4025 Ошибка программирования реквизита 1008 — Проверьте отчет о регистрации ККТ. Касса зарегистрирована с параметрами расчета в Интернете.

АТОЛ 30Ф: Ошибка программирования реквизита (1021) — Решение: выкл. и вкл. ККТ. Если проблема не устраняется, возможно нужно обновить драйвер ккт и 1с.

1с комиссионная торговля ошибка ккт недопустимое сочетание реквизитов
Ошибка программирования реквизита 1057
— Вы может продаете комиссионный товар? Нужно проверить параметры регистрации ККТ.

Ошибка программирования реквизита 1109 — Проверьте отчет о регистрации ККТ. Касса зарегистрирована с признаком расчетов за услуги.

АТОЛ 30Ф -4025 Ошибка программирования реквизита 1173 — Выберите тип коррекции: самостоятельно или по предписанию.

148 Ошибка программирования реквизита 1205 — Коды причин изменения сведений о ККТ

Ошибка программирования реквизита 1207 — признак торговли подакцизными товарами. Проверьте параметры регистрации.

Ошибка программирования реквизита 1226 — Нужно проверить параметры регистрации ККТ. Перерегистрировать с признаком «Изменение настроек ККТ»

Ошибка программирования реквизита 1227 — не заполнен признак покупателя (название организации, ФИО покупателя).

Ошибка программирования реквизита 1228 — Проверьте ИНН покупателя, исправьте некорректные данные.

2. Ошибка ФН

При выполнении операции произошла ошибка: Ресурс хранения ФД исчерпан. — нужно проверить связь с ОФД и отправить чеки.

Ошибка обмена с ФН на уровне интерфейса I2C — выкл. ККТ и переподключите ФН, если не помогает, то обратитесь в сервис.

1c Розница базовая 2.2 и АТОЛ 55ф при печати чека произошла ошибка 231 Некорректное значение параметров команды ФН

1с Розница ошибка фн 212 — Пояснение: чаще всего это ошибка выходит, когда ФН не фискализирована или архив ФН закрыт. Например: ФН не фискализирована, а кассир пытается снять Отчет о состоянии расчетов.

Закрытие фискального накопителя.
Случай в практике: У 1С Предприятие есть возможность закрыть архив ФН. И один клиент случайно воспользовался этой функцией. Закрытие архива – процедура, завершающая функционирование ФН. Он очень огорчился. Я бы все таки доверил все операции с ФН утилите Мастеру регистраций. У каждого ККТ она своя. И закрывайте архив только по необходимости.

1с Предприятие. Регистрация ФН, закрытие архива ФН, изменение параметров регистрации

При выполнении операции произошла ошибка 14h, Ограничение ресурса ФН. Отчет на фискальном регистраторе не сформирован.

3. Ошибки при открытии смены

1с Розница. При открытие смены произошла ошибка. При выполнении операции произошла ошибка 01h. Неизвестная команда, неверный формат посылки или неизвестные параметры — нужно проверить состояние ФН.

1с Розница. При открытие смены произошла ошибка. При выполнении операции произошла ошибка 01h. Неизвестная команда, неверный формат посылки или неизвестные параметры.

1c Розница. Ошибка Деление 0 — зайти в настройке РМК и выставить галочки настроек.

Неверный формат хранилища данных file://C:/Users/…

ККТ не отвечает или недоступна.

Не смогли определить доступные кассы ККМ. — требуется настройка Рабочего места в 1с и Подключаемое оборудование.

С момента открытия кассовой смены истекло более 24 часов. — закройте смену в ККТ и откройте смену в 1с.

Кассовая смена уже открыта.

Ошибка открытия смены. Нет касс с закрытыми сменами.

При открытии смены произошла ошибка. Смена не открыта на фискальном устройстве. Дополнительное описание.
Нужно прочитать дополнительное описание и проверить состояние ККТ

Атол 91Ф не удается открыть смену из 1с — Нужно проверить состояние ККТ

1с Розница. Ошибка определения доступных касс ККМ. Не смогли определить доступные кассы ККМ.

1с Розница. Ошибка определения доступных касс ККМ. Не смогли определить доступные кассы ККМ.

Ошибка кассы COM порт недоступен — нужно проверить состояние ККТ, восстановить или настроить связь с онлайн кассой.

Пишите в support@kasselect.ru, +7(987)-268-84-37 WhatsApp

4. Ошибки при сканировании

Текст XML содержит недопустимый символ в позиции 0⁴ — проверьте настройки сканера.

РМК: при сканировании открывается справочник Номенклатура — требуется настройка сканера.

1с Розница. Сканирование кода маркировки. Код маркировки не соответствует номенклатуре.

1с Розница. Сканирование кода маркировки. Код маркировки не соответствует номенклатуре.

1С Розница. Некорректный код при сканировании маркировки.

1с Розница. Недопустимый формат штрихкода.

1С Розница. 1с Розница. Недопустимый формат штрихкода.

Невозможно обработать отсканированный штрихкод по причине: Статус: Неопределен.

Ошибки маркировки. Строка №1: код маркировки.

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

Чек не напечатан на устройстве для печати чеков. Описание ошибки: Тэг Признак предмета расчета в строке №1 не заполнен. — нужно в справочнике Вид номенклатуры/ Тип номенклатуры/ Товар, указать Признак предмет расчета Товар.

При выполнении операции произошла ошибка: Контрольная марка не проверена.

Ошибка не удалось создать чеки 1с 8.3 2.3 Розница Меркурий 185ф

При выполнении операции произошла ошибка: Некорректная сумма налога — нужно обновить ПО ККТ.

В 1с маркировка сканируется, но на чеке буква [M] не печатается — если ккт прошита под маркировку, то обновите драйвер ккт.

При выполнении операции произошла ошибка: Нет связи. — с помощью драйвера проверьте связь с ккт.

Не удалось подключить устройство АТОЛ ККТ с передачей данных в ОФД. Порт недоступен (999). — правильно настройте подключение.

1с версия 2.3.1.30 драйвер ККТ АТОЛ 10.6.00 почему не печатает чек. Зависает при печати чека — обновите ПО ККТ, перейдите на платформу 5.0.

Розница 2.2. Чек не напечатан на устройстве для печати чеков. Дополнительное описание: Сумма товарных позиций больше суммы оплат

Текст XML содержит недопустимый символ в позиции 10: Чек от…¹

Значение 0000-000003 поля Номер не уникально²

Некорректный формат или параметр команды услуга ффд 1.1 не активирована

Сбились настройки НДС после замены ФН
(после обновления ПО)
— Нужно настроить НДС в программе кассира или в учетной программе.

Не удалось инициализировать фискальный принтер shtrih m drvfr epf — Проверьте драйвера на данный ККТ

Ошибка вызова метода.Объект драйвера. Открыть чек.

Ошибка вызова метода.Объект драйвера.Открыть чек.ОбщийМодуль.ПодключаемоеОборудованиеУниверсальный Метод объекта не обнаружен (Открыть чек)

(-4048) Ошибка реквизита: Печать фискального отчета прервана, необходим повтор команды печати отчета с ККТ АТОЛ — Решение:Вариант 1 — Повторить операцию. Вариант 2 — Сделать техобнуление. Вариант 3 — Обновить прошивку на 4555 и выше

Ошибка»-3933, Вход в режим заблокирован» — Попробуйте отменить чек.

Не печатать чек на ККТ при отправке электронного чека — 1С Комплексная автоматизация 2 (2.4.3.137). Отправка работает только при наличии галочки в настройках.

АТОЛ30Ф заменить сно на патент — Требуется перерегистрация ККТ без замены ФН и обновление драйвера ккт до 10 версии.

Управление торговлей 10.3.+ Штрих М ККТ. FFFFFFF8h, No XML attribute ElectronicPayment — при настройке нужно использовать старую обработку ShtrihMkkt.epf, она укажет на нужную версию драйвера ккт.

Внимание! Текущая версия драйвера отличается от поддерживаемой. Корректная работа драйвера не гарантируется — проверьте в обработке оборудования версию поддерживаемого драйвера и установите нужную версию.

Не удалось загрузить драйвер устройства.

Мобильная касса и ККТ АТОЛ 11Ф с прошивкой 4555 Ошибка «Неверный формат или значение». — Решение: Обновить мобильное приложение. Нужно проверить, при печати какой строки выводит данную ошибку. Возможно потребуется настройка через Тест драйвер АТОЛ.

6. Ошибки при закрытие смены

При закрытие смены на фискальном регистраторе произошла ошибка. При выполнении операции произошла ошибка: Смена закрыта-операция невозможна. Отчет на фискальном регистраторе не сформирован.

Кассовая смена в системе не закрыта: Отчет о розничных продажах не сформирован. Выемка :Не смогли произвести выемку руб.

При снятии отчета на фискальном регистраторе произошла ошибка. Отчет с гашением прерван. Устраните неисправность и повторите печать отчета.

1с Управление торговлей 10. За кассовую смену не продано ни одного товара по выбранной кассе ККМ. Слишком большое расхождение времени! — закройте смену через драйвер, исправьте время и откройте смену через 1с.

7. Тэг не заполнен

Тэг Система налогообложения не заполнен

Tэг Наименование организации не заполнен

Tэг Кассира не заполнен

1с Управление торговлей 11, 1с Розница 2.2 при печати чека…

Тэг Система налогообложения не заполнен

Решение: 1С Управление торговлей. Заполнить учетную политику. В справочнике «Организация» или «Реквизиты организации», нужно указать систему налогооблажения (скорее всего есть кнопка «Перейти»). Указать «Специальную систему налогооблажения».

Не известная ошибка 238d|00eeh

Решение:
1. Нужно определить СНО в настройках ККТ. Распечатайте отчет о регистрации.
2. В 1С кликните Справочники / Предприятия / Организации. Нажимаете на нужную организацию к которой привязана касса онлайн. Перейти в раздел Учетная политика (налоговый учет). Если отчетный период закрыт, то создаете новый иначе Вам не даст изменить политику СНО. Создав новую учетную политику переходите во вкладку — «налогообложение», указываете галочки, как в настройках ККТ , Общая/Упрощенная (Доход/Доход минус расход), сохраняете и закрываете все.

При выполнении операции произошла ошибка. ККТ не зарегистрирована с указанной СНО.

8. Иные ошибки

Драйвер устройства на текущем рабочем месте не установлен. Весы Штрих Принт.⁵

Устройство: ШТРИХ-М: Весы с печатью этикеток ШТРИХ-ПРИНТ. Выгрузить товары не удалось: При подключении устройства произошла ошибка. Не удалось подключить устройство. — нужно проверить связь с весами и восстановить связь.

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

Неправильный путь к файлу — нужно проверить связь с кассовым компьютером. Возможно у этого компьютера проблемы с локальной сетью.

Операция прервана. Ошибка при загрузке транзакции — нужно проверить корректность файла загрузки.

Устройство подключено. Перед выполнением операции устройство должно быть отключено. — закройте все окна и повторите настройку оборудования.

Ошибка доступа к файлу C:…Отказано в доступе. — ошибка выходит при попытке сохранить документ в pdf файле. Причина была в антивирусе. Антивирус блокировал операции 1с.

Сертификаты, которые могут быть использованы для этой операции ограничены. Ни один из следующих разрешенных сертификатов не установлен на компьютере:

Сертификат просрочен или не вступил в силу

Ошибка при отправке/ получении документов. Нет доступного сертификата для отправки или получения документов. — нужно установить и добавить сертификат.

1С:Enterprise 8. Filesystem extension for Chrome and Firefox — ошибка выходит при попытке сохранить документ в папке. Проверьте антивирус, возможно блокирует действия 1с. Очистите кэш 1с.

1с Далион. Ошибка обмена с ККМ. Для налоговой ставки 20% не найдено соответствия номера налога в ККМ в элементе справочника АТОЛ³.

1с Далион. В данный момент загрузку выполняет пользователь. Пожалуйста ждите… — Нужно удалить в каталоге обмена файл-флаг.

1с Далион. В данный момент загрузку выполняет пользователь. Пожалуйста ждите...

Список информационных баз.пуст. Добавить в список информационную базу? — укажите правильный путь к базе 1с.

Файл базы данных поврежден.

Ошибка при выполнении файловой операции. Файл или папка повреждены. Чтение невозможно.

Тест не пройден [3] Порт занят

Тест не пройден [94] Некорректный код защиты / лицензия или номер.

При выполнении операции произошла ошибка 12h, Заводской номер уже введен — Проверьте состояние ФН. Проверьте версию прошивки ККТ.

АТОЛ 11ф Ошибка неверный номер регистра — Решение: Необходимо обновить прошивку кассового аппарата и обновить драйвер, поставляемый с программами 1С на драйвер с сайта АТОЛ

bitrix atol — онлайн код ошибки 10 bitrix ошибка при печати чека #26707: не распознан токен запроса.

bitrix атол ошибка при печати чека

Полезные заметки:

Фискальный накопитель

Регистрация онлайн касс

Автор: Нуруллин И.Н. Дата: 2017-11-29

  

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 вроде как, печать тэгов

Релиз ревью:

В рамках релиза добавлена поддержка драйвером ФФД 1.2, а также исправлены некоторые ошибки.

Внесённые изменения:

  • Драйвер ККТ
    1. Для ККТ версий 5.X добавлена поддержка ФФД 1.2.
    2. Добавлен запрос LIBFPTR_DT_MCU_INFO для метода queryData() для запроса информации о микроконтроллере.
    3. Добавлен функционал изменения наименования секций в параметрах ККТ.
    4. Добавлена возможность загрузки скриптов библиотек функций LIBFPTR_SCRIPT_LIBRARY методом uploadDriverScript().
    5. Ставка НДС при регистрации позиции теперь имеет значение по умолчанию — 6, НДС не облагается, которое подаётся, если ставка не была передана.
    6. В состав включен JPOS-драйвер версии 1.14.16.
    7. Поправлена работа JSON-заданий чеков коррекции, теперь допускается передача реквизита 1008 — адрес и телефон покупателя.
    8. В JSON-задание чека добавлена возможность подавать реквизит 1009 — адрес расчётов.
    9. Убрана настройка «Режим работы по свободной цене» для автономных ККТ.
    10. В метод перезагрузки ККТ deviceReboot() добавлена возможность отключения печати отчёта тестирования.
    11. Добавлен новый параметр LIBFPTR_PARAM_DOCUMENT_TYPE для запроса LIBFPTR_DT_STATUS методом queryData(), который возвращает тип документа.
  • Сервер удалённого подключения
    1. Добавлена возможность использовать скрипты драйвера, расположенные на клиентском ПК.

Исправленные ошибки:

  • Драйвер ККТ
    1. Поправлена работа JSON-задания «changeRegistrationParameters».
    2. Исключены неактуальные лицензии из запроса чтения данных LIBFPTR_RT_LICENSES.
    3. В запросе LIBFPTR_DT_STATUS для метода queryData() поправлен статус соединения с принтером.
    4. Исправлена работа с настройками автономных ККТ:
      • настройка 79 «Разрядность вводимых сумм»
      • настройка 317 «Тип чека по умолчанию»
      • настройка 358 «Пользователь по умолчанию»
      • настройка 363 «Разрешить ввод количества вручную при работе с весами»
    5. В JSON-заданиях чеков, в объекте позиции поправлена точность поля «quantity» (количество), увеличена до 6 знаков после запятой.
  • Тестовое приложение
    1. Поправлено отображение дробных значений тегов с типом FVLN (чтение фискального документа по номеру из ФН).
    2. Поправлено округление дробных величин для регистрации позиции в полях количество, цена и сумма.
    3. Поправлена подача реквизита единицы измерения и логика обработки (реквизит 1197 для ФФД 1.1 и реквизит 2108 для ФФД 1.2).

Ограничения функционала:
1. Сборка драйвера содержит ограничение функционала выгрузки сервисной информации для случаев:
— ФН в ККТ не фискализирован
— в ККТ нет лицензий
2. Дистрибутивы Windows драйвера содержат Web-сервер версии 10.8.1.0, не совместимый с драйвером ККТ (10.9.0.0)

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 вроде как, печать тэгов

1c Управление небольшой фирмой, 1С Управление торговлей 10.3, 1C Предприятие, 1С Бухгалтерия, Мобильная касса и ККТ АТОЛ 11Ф, 1с Розница ошибка фн 212, 1с и атол ошибка 231

1c. Подключение и настройка торгового оборудования. Сканер, ККТ, весы, эквайринг, принтер этикеток.

Не работает сканер, весы, ККТ и эквайринг, оставляйте заявку в комментариях, либо

— Пишите в

WhatsApp +7(987)-268-84-37

1C Розница 2.3. Принтер этикеток АТОЛ BP21 не печатает, что делать?

1с Розница 2.2 печать кассира в чеке.

Пишите в support@kasselect.ru, +7(987)-268-84-37 WhatsApp

1. Ошибка программирования реквизита

Недопустимое сочетание реквизитов — Нужно проверить передаваемые реквизиты на соответствие с параметрами регистрации. Узнать на каком реквизите выходит ошибка.

148 Ошибка программирования реквизита 1002 — Нужно проверить параметры регистрации ККТ и настройки подключения кассы в 1с.

148 Ошибка программирования реквизита 1162 — Нужно обновить 1с, чтобы программа передавала этот реквизит.

1с Розница -4025 Ошибка программирования реквизита 1008 — Проверьте отчет о регистрации ККТ. Касса зарегистрирована с параметрами расчета в Интернете.

АТОЛ 30Ф: Ошибка программирования реквизита (1021) — Решение: выкл. и вкл. ККТ. Если проблема не устраняется, возможно нужно обновить драйвер ккт и 1с.

1с комиссионная торговля ошибка ккт недопустимое сочетание реквизитов
Ошибка программирования реквизита 1057
— Вы может продаете комиссионный товар? Нужно проверить параметры регистрации ККТ.

Ошибка программирования реквизита 1109 — Проверьте отчет о регистрации ККТ. Касса зарегистрирована с признаком расчетов за услуги.

АТОЛ 30Ф -4025 Ошибка программирования реквизита 1173 — Выберите тип коррекции: самостоятельно или по предписанию.

148 Ошибка программирования реквизита 1205 — Коды причин изменения сведений о ККТ

Ошибка программирования реквизита 1207 — признак торговли подакцизными товарами. Проверьте параметры регистрации.

Ошибка программирования реквизита 1226 — Нужно проверить параметры регистрации ККТ. Перерегистрировать с признаком «Изменение настроек ККТ»

Ошибка программирования реквизита 1227 — не заполнен признак покупателя (название организации, ФИО покупателя).

Ошибка программирования реквизита 1228 — Проверьте ИНН покупателя, исправьте некорректные данные.

2. Ошибка ФН

При выполнении операции произошла ошибка: Ресурс хранения ФД исчерпан. — нужно проверить связь с ОФД и отправить чеки.

Ошибка обмена с ФН на уровне интерфейса I2C — выкл. ККТ и переподключите ФН, если не помогает, то обратитесь в сервис.

1c Розница базовая 2.2 и АТОЛ 55ф при печати чека произошла ошибка 231 Некорректное значение параметров команды ФН

1с Розница ошибка фн 212 — Пояснение: чаще всего это ошибка выходит, когда ФН не фискализирована или архив ФН закрыт. Например: ФН не фискализирована, а кассир пытается снять Отчет о состоянии расчетов.

Закрытие фискального накопителя.
Случай в практике: У 1С Предприятие есть возможность закрыть архив ФН. И один клиент случайно воспользовался этой функцией. Закрытие архива – процедура, завершающая функционирование ФН. Он очень огорчился. Я бы все таки доверил все операции с ФН утилите Мастеру регистраций. У каждого ККТ она своя. И закрывайте архив только по необходимости.

1с Предприятие. Регистрация ФН, закрытие архива ФН, изменение параметров регистрации

При выполнении операции произошла ошибка 14h, Ограничение ресурса ФН. Отчет на фискальном регистраторе не сформирован.

3. Ошибки при открытии смены

1с Розница. При открытие смены произошла ошибка. При выполнении операции произошла ошибка 01h. Неизвестная команда, неверный формат посылки или неизвестные параметры — нужно проверить состояние ФН.

1с Розница. При открытие смены произошла ошибка. При выполнении операции произошла ошибка 01h. Неизвестная команда, неверный формат посылки или неизвестные параметры.

1c Розница. Ошибка Деление 0 — зайти в настройке РМК и выставить галочки настроек.

Неверный формат хранилища данных file://C:/Users/…

ККТ не отвечает или недоступна.

Не смогли определить доступные кассы ККМ. — требуется настройка Рабочего места в 1с и Подключаемое оборудование.

С момента открытия кассовой смены истекло более 24 часов. — закройте смену в ККТ и откройте смену в 1с.

Кассовая смена уже открыта.

Ошибка открытия смены. Нет касс с закрытыми сменами.

При открытии смены произошла ошибка. Смена не открыта на фискальном устройстве. Дополнительное описание.
Нужно прочитать дополнительное описание и проверить состояние ККТ

Атол 91Ф не удается открыть смену из 1с — Нужно проверить состояние ККТ

1с Розница. Ошибка определения доступных касс ККМ. Не смогли определить доступные кассы ККМ.

1с Розница. Ошибка определения доступных касс ККМ. Не смогли определить доступные кассы ККМ.

Ошибка кассы COM порт недоступен — нужно проверить состояние ККТ, восстановить или настроить связь с онлайн кассой.

COM порт занят другим приложением — перезагрузите компьютер и повторите операцию.

Пишите в support@kasselect.ru, +7(987)-268-84-37 WhatsApp

4. Ошибки при сканировании

Текст XML содержит недопустимый символ в позиции 0⁴ — проверьте настройки сканера.

РМК: при сканировании открывается справочник Номенклатура — требуется настройка сканера.

1с Розница. Сканирование кода маркировки. Код маркировки не соответствует номенклатуре.

1с Розница. Сканирование кода маркировки. Код маркировки не соответствует номенклатуре.

1С Розница. Некорректный код при сканировании маркировки.

1с Розница. Недопустимый формат штрихкода.

1С Розница. 1с Розница. Недопустимый формат штрихкода.

Невозможно обработать отсканированный штрихкод по причине: Статус: Неопределен.

Ошибки маркировки. Строка №1: код маркировки.

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

Чек не напечатан на устройстве для печати чеков. Описание ошибки: Тэг Признак предмета расчета в строке №1 не заполнен. — нужно в справочнике Вид номенклатуры/ Тип номенклатуры/ Товар, указать Признак предмет расчета Товар.

При выполнении операции произошла ошибка: Контрольная марка не проверена.

Ошибка не удалось создать чеки 1с 8.3 2.3 Розница Меркурий 185ф

При выполнении операции произошла ошибка: Некорректная сумма налога — нужно обновить ПО ККТ.

В 1с маркировка сканируется, но на чеке буква [M] не печатается — если ккт прошита под маркировку, то обновите драйвер ккт.

При выполнении операции произошла ошибка: Нет связи. — с помощью драйвера проверьте связь с ккт.

Не удалось подключить устройство АТОЛ ККТ с передачей данных в ОФД. Порт недоступен (999). — правильно настройте подключение.

1с версия 2.3.1.30 драйвер ККТ АТОЛ 10.6.00 почему не печатает чек. Зависает при печати чека — обновите ПО ККТ, перейдите на платформу 5.0.

Розница 2.2. Чек не напечатан на устройстве для печати чеков. Дополнительное описание: Сумма товарных позиций больше суммы оплат

Текст XML содержит недопустимый символ в позиции 10: Чек от…¹

Значение 0000-000003 поля Номер не уникально²

Некорректный формат или параметр команды услуга ффд 1.1 не активирована

Сбились настройки НДС после замены ФН
(после обновления ПО)
— Нужно настроить НДС в программе кассира или в учетной программе.

Не удалось инициализировать фискальный принтер shtrih m drvfr epf — Проверьте драйвера на данный ККТ

Ошибка вызова метода.Объект драйвера. Открыть чек.

Ошибка вызова метода.Объект драйвера.Открыть чек.ОбщийМодуль.ПодключаемоеОборудованиеУниверсальный Метод объекта не обнаружен (Открыть чек)

(-4048) Ошибка реквизита: Печать фискального отчета прервана, необходим повтор команды печати отчета с ККТ АТОЛ — Решение:Вариант 1 — Повторить операцию. Вариант 2 — Сделать техобнуление. Вариант 3 — Обновить прошивку на 4555 и выше

Ошибка»-3933, Вход в режим заблокирован» — Попробуйте отменить чек.

Не печатать чек на ККТ при отправке электронного чека — 1С Комплексная автоматизация 2 (2.4.3.137). Отправка работает только при наличии галочки в настройках.

АТОЛ30Ф заменить сно на патент — Требуется перерегистрация ККТ без замены ФН и обновление драйвера ккт до 10 версии.

Управление торговлей 10.3.+ Штрих М ККТ. FFFFFFF8h, No XML attribute ElectronicPayment — при настройке нужно использовать старую обработку ShtrihMkkt.epf, она укажет на нужную версию драйвера ккт.

Внимание! Текущая версия драйвера отличается от поддерживаемой. Корректная работа драйвера не гарантируется — проверьте в обработке оборудования версию поддерживаемого драйвера и установите нужную версию.

Не удалось загрузить драйвер устройства.

Мобильная касса и ККТ АТОЛ 11Ф с прошивкой 4555 Ошибка «Неверный формат или значение». — Решение: Обновить мобильное приложение. Нужно проверить, при печати какой строки выводит данную ошибку. Возможно потребуется настройка через Тест драйвер АТОЛ.

6. Ошибки при закрытие смены

При закрытие смены на фискальном регистраторе произошла ошибка. При выполнении операции произошла ошибка: Смена закрыта-операция невозможна. Отчет на фискальном регистраторе не сформирован.

Кассовая смена в системе не закрыта: Отчет о розничных продажах не сформирован. Выемка :Не смогли произвести выемку руб.

При снятии отчета на фискальном регистраторе произошла ошибка. Отчет с гашением прерван. Устраните неисправность и повторите печать отчета.

1с Управление торговлей 10. За кассовую смену не продано ни одного товара по выбранной кассе ККМ. Слишком большое расхождение времени! — закройте смену через драйвер, исправьте время и откройте смену через 1с.

7. Тэг не заполнен

Тэг Система налогообложения не заполнен

Tэг Наименование организации не заполнен

Tэг Кассира не заполнен

1с Управление торговлей 11, 1с Розница 2.2 при печати чека…

Тэг Система налогообложения не заполнен

Решение: 1С Управление торговлей. Заполнить учетную политику. В справочнике «Организация» или «Реквизиты организации», нужно указать систему налогооблажения (скорее всего есть кнопка «Перейти»). Указать «Специальную систему налогооблажения».

Не известная ошибка 238d|00eeh

Решение:
1. Нужно определить СНО в настройках ККТ. Распечатайте отчет о регистрации.
2. В 1С кликните Справочники / Предприятия / Организации. Нажимаете на нужную организацию к которой привязана касса онлайн. Перейти в раздел Учетная политика (налоговый учет). Если отчетный период закрыт, то создаете новый иначе Вам не даст изменить политику СНО. Создав новую учетную политику переходите во вкладку — «налогообложение», указываете галочки, как в настройках ККТ , Общая/Упрощенная (Доход/Доход минус расход), сохраняете и закрываете все.

При выполнении операции произошла ошибка. ККТ не зарегистрирована с указанной СНО.

8. Иные ошибки

Драйвер устройства на текущем рабочем месте не установлен. Весы Штрих Принт.⁵

Устройство: ШТРИХ-М: Весы с печатью этикеток ШТРИХ-ПРИНТ. Выгрузить товары не удалось: При подключении устройства произошла ошибка. Не удалось подключить устройство. — нужно проверить связь с весами и восстановить связь.

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

Неправильный путь к файлу — нужно проверить связь с кассовым компьютером. Возможно у этого компьютера проблемы с локальной сетью.

Операция прервана. Ошибка при загрузке транзакции — нужно проверить корректность файла загрузки.

Устройство подключено. Перед выполнением операции устройство должно быть отключено. — закройте все окна и повторите настройку оборудования.

Ошибка доступа к файлу C:…Отказано в доступе. — ошибка выходит при попытке сохранить документ в pdf файле. Причина была в антивирусе. Антивирус блокировал операции 1с.

Сертификаты, которые могут быть использованы для этой операции ограничены. Ни один из следующих разрешенных сертификатов не установлен на компьютере:

Сертификат просрочен или не вступил в силу

Ошибка при отправке/ получении документов. Нет доступного сертификата для отправки или получения документов. — нужно установить и добавить сертификат.

1С:Enterprise 8. Filesystem extension for Chrome and Firefox — ошибка выходит при попытке сохранить документ в папке. Проверьте антивирус, возможно блокирует действия 1с. Очистите кэш 1с.

1с Далион. Ошибка обмена с ККМ. Для налоговой ставки 20% не найдено соответствия номера налога в ККМ в элементе справочника АТОЛ³.

1с Далион. В данный момент загрузку выполняет пользователь. Пожалуйста ждите… — Нужно удалить в каталоге обмена файл-флаг.

1с Далион. В данный момент загрузку выполняет пользователь. Пожалуйста ждите...

Список информационных баз.пуст. Добавить в список информационную базу? — укажите правильный путь к базе 1с.

Файл базы данных поврежден.

Ошибка при выполнении файловой операции. Файл или папка повреждены. Чтение невозможно.

Тест не пройден [3] Порт занят

Тест не пройден [94] Некорректный код защиты / лицензия или номер.

При выполнении операции произошла ошибка 12h, Заводской номер уже введен — Проверьте состояние ФН. Проверьте версию прошивки ККТ.

АТОЛ 11ф Ошибка неверный номер регистра — Решение: Необходимо обновить прошивку кассового аппарата и обновить драйвер, поставляемый с программами 1С на драйвер с сайта АТОЛ

bitrix atol — онлайн код ошибки 10 bitrix ошибка при печати чека #26707: не распознан токен запроса.

bitrix атол ошибка при печати чека

Полезные заметки:

Фискальный накопитель

Регистрация онлайн касс

Автор: Нуруллин И.Н. Дата: 2017-11-29

Ребенок Илья
Специалист по внедрению 1С партнерской сети «ИнфоСофт».

16.12.2021

Время прочтения — 2 мин.

Заказать консультацию

Что такое ФФД и зачем его меняют

ФФД (формат фискальных документов) — это определенный шаблон заполнения фискальных документов. Он заложен в программное обеспечение кассы и определяет:

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

  • Как выглядят фискальные документы, какие данные в них отражены и в каком формате, в каких чеках, бумажных или электронных, указаны реквизиты.

С 6 августа 2021 года ввели новый формат фискальных документов — ФФД 1.2. На него должны перейти те, кто продает обязательные к маркировке товары, учитываемые в системе «Честный ЗНАК». Если вы продаете маркированные товары и регистрируете новую кассу после 6.08.2021 года — касса и фискальный накопитель обязательно должны поддерживать ФФД 1.2 и работу с маркировкой. Иначе вы не сможете зарегистрировать кассу в налоговой. На сайте Атол приведены основные варианты перехода. Более подробно можно ознакомится на сайте по ссылке. 

1.png

2.png

 Проблемы при попытке пробития чека

«Ошибка программирования реквизита 1162» Поиск решения данной ошибки выявил ряд условий, при которых она может возникать:

1) Неправильная регистрация кассы в налоговой (галочка для продажи маркированной продукции);

2) Прошивка кассы (должна быть установлена 5 платформа);

3) Не установлены или не подгружены вручную новые драйвера кассы;

4) Конфигурация не поддерживает работу с ФФД 1.2.

В нашем случае касса была куплена и зарегистрирована уже с новой прошивкой и ФН для использования ФФД 1.2.

Подпишитесь на дайджест!

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

На данный момент в 1С:Медицина. Больничная аптека, редакция 2 поддержка ФФД 1.2 так и не реализована в официальных релизах. Официальный ответ службы поддержки «Формат ФФД 1.2 пока не поддерживается в Больничной аптеке. Вышел только ознакомительный релиз, который сейчас тестируется и готовится к выпуску в рабочем варианте».

После обновления на тестовый релиз нам нужно сделать несколько настроек для корректной работы с новым форматом.

1) Нужно включить настройку “выполнять проверку средствами ККТ” в настройках МДЛП.

3.png

4.png

2) Скачать и установить новый драйвер АТОЛ с поддержкой ФФД 1.2. В справочнике драйверов 1С создать новый и указать путь до файла поставки. Проверить правильность версии компоненты в папке при запуске 1С AppData\Roaming\1C\1cv8\ExtCompT\.

5.png

После данных действий конфигурация готова для пробития чеков для нового формата. В результате мы должны увидеть в чеке напротив маркировочного ЛС обозначение [М+].

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

Интересное по теме:

  • Ошибка программирования реквизита 1101 атол 30ф
  • Ошибка применения лекарственного препарата
  • Ошибка программирования реквизита 1187 смена открыта операция невозможна
  • Ошибка приточного вентилятора xiaomi vacuum cleaner
  • Ошибка принтера ро8

  • Добавить комментарий

    ;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: