Если кассовая программа работает правильно, то даже на прошивке 2018 года без настроек, лицензий и подписок можно сформировать тег 1162 так, чтобы он успешно прошел систему "Честный Знак"
Если кассовая программа работает неправильно, то даже на последней прошивке со всеми возможными лицензиями, подписками и настройками на онлайн-кассе, тег 1162 не сформируется правильно.
Большинство кассовых программ использует Тест Драйвера для работы, старые версии которого не поддерживают актуальных требований к тегу 1162. При установке новой версии на старую, кассовая программа может продолжать использовать старую версию. Поэтому первое условие:
Если у вас 1С, то требуется обновление обработки до версии 3.2. Укажите в номенклатуре 1С тег 1212 для маркированного товара как "1.Товар", у табака "2.Подакцизный товар".
Затем требуется чтобы была установлена актуальная версия кассовой программы, так как
Проверить, что кассовая программа формирует тег 1162 “Код товара” по правилам 2020 года можно по инструкции по ссылке.
-Если кассовая программа не формирует тег совсем, или формирует его неправильно, то дальше можно не читать, а связываться с технической поддержкой кассовой программы и выяснять почему это не происходит.
-Если кассовая программа правильно формирует тег 1162 в электронной форме по правилам 2020 года, то данные о маркировке корректно обрабатываются Честным Знаком. Остается только решить вопрос с печатью [М] в чеке при продаже маркированного товара. Для этого нужно:
Но если возникает ошибка 119, то необходима Единая Подписка
Сформировать тег 1162 "Код товара" в электронной форме можно на любой прошивке с 2018 года без каких-либо лицензий и подписок.
Сформировать тег 1162 "Код товара" в электронной форме для продажи средств индивидуальной защиты можно на любой прошивке с 2018 года без каких-либо лицензий и подписок при условии что
Проверить, формирует ли кассовая программа тег 1162 правильно при продаже средств защиты, можно по инструкции по ссылке.
Если учесть, что [М] не должна печататься при продаже средств индивидуальной защиты, так как это немаркируемый товар, то
и достаточна
Но тем не менее, актуальная версия прошивки и Единая Подписка всё равно нужны для удовлетворения всех других требований к печатной форме чека.
Частые вопросы
Хоть и кажется всё просто, но есть масса заблуждений.
Единую подписку. В нее входят абсолютно все прошлые лицензии и подписки, а также весь функционал, который появится в течение следующих 4 календарных кварталов, не включая текущий.
НЕТ, достаточно Единой Подписки.
Подробнее о лицензиях
НЕТ. Действительно, задумывалось всё так, что если печатается [М], то всё хорошо, но на деле оказалось, что это просто значит, что в теге 1162 есть какая-то информация. Сформирована ли электронная форма тега 1162 по старым правилам или по правилам 2020 года, сформирован правильно или неправильно - [М] печатается всегда. Правильно ли формируется тег в электронной форме, можно узнать только по инструкции.
НЕТ.
Бесплатные программы для работы с маркировкой:
Дримкас Старт (При покупке обслуживания в ОФД)
Мультикей
В принципе, это всё, что нужно знать рядовому пользователю. Но если заняться нечем, то можно углубиться в тему еще дальше
Да, в законодательстве есть пункт о том, что, грубо говоря, нельзя формировать тег неправильно. Чтобы он не был сформирован неправильно, он должен перепроверяться либо кассовой программой, либо онлайн-кассой. Это было возложено на плечи кассовой программы. Она обрабатывает значение, считанное сканером и подает обработанный результат в тег 1162. Чтобы онлайн-касса проводила ФЛК, нужна альтернативная команда, через которую онлайн кассе подается значение, считанное сканером, а онлайн-касса его обрабатывает и формирует печатную и электронную форму.
Эта команда работает только при наличии Лицензии Базовая Маркировка или Подписки на 2020 год. При попытке работы с этой командой без лицензии возникает ошибка 119: Ошибка лицензии.
Список кассовых программ, работающих с данной командой:
Тест Драйвера ФР 4.15
Да, кассовых программ, которые с ней работают, почти нет.
Эта команда вызывает большую путанницу, так как из-за нее в личном кабинете Окассы пишется, что функционал Подписки на 2020 год не содержит весь функционал Базовой НДС, который по сути никому не нужен.
Примеры передачи тега 1162 по старому и новому методу описаны в отдельной инструкции.
В ней описан разбор кода маркировки.
Для разработчиков
Если возникли вопросы по работе с методами, то обратитесь в техническую поддержку для разработчиков.
Протокол работы с ФН
Руководство программиста
Примеры для Android
Руководство по настройке
Примеры передачи тега 1162 с помощью метода FNSendItemCodeData
Driver.FNOperation;
Driver.MarkingType := $4508; //EAN-8
Driver.BarCode := '46198488';
Driver.FNSendItemCodeData;
//...
Driver.FNOperation;
Driver.MarkingType := $450D; //EAN-13
Driver.BarCode := '4606203090785';
Driver.FNSendItemCodeData;
//...
Driver.FNOperation;
Driver.MarkingType := $490E; //ITF-14
Driver.BarCode := '14601234567890';
Driver.FNSendItemCodeData;
//...
Driver.FNOperation;
Driver.MarkingType := $444D; //Data Matrix
Driver.GTIN := '04600439931256';
Driver.SerialNumber := 'JgXJ5.T112000';
Driver.FNSendItemCodeData;
//...
Driver.FNOperation;
Driver.MarkingType := $444D; //Data Matrix 2
Driver.GTIN := '04604060006000';
Driver.SerialNumber := 'N4N57RSCBUZTQ';
Driver.FNSendItemCodeData;
//...
Driver.FNOperation;
Driver.MarkingType := $444D; //Data Matrix 3
Driver.GTIN := '00000046198488';
Driver.SerialNumber := 'X?io+qCABm8 '; // два пробела в конце (до 13 симв.)
Driver.FNSendItemCodeData;
//...
Driver.FNOperation;
Driver.MarkingType := $5246; //Мех
Driver.BarCode := 'RU-401301-AAA0277031';
Driver.FNSendItemCodeData;
//...
Driver.FNOperation;
Driver.MarkingType := $C514; //ЕГАИС 2.0
Driver.BarCode := 'NU5DBKYDOT17ID980726019';
Driver.FNSendItemCodeData;
//...
Driver.FNOperation;
Driver.MarkingType := $C51E; //ЕГАИС 3.0
Driver.BarCode := '13622200005881';
Driver.FNSendItemCodeData;
Пример передачи тега 1162 с помощью метода FNSendTagOperation
//Пример передачи КТ EAN-8 '46198488'
Driver.FNOperation;
Driver.TagNumber := 1162;
Driver.TagType := 9; //Byte array
Driver.TagValueBinHex := '45 08 00 00 02 C0 EE D8';
Driver.FNSendTagOperation;
Driver.Quantity = 1;
//Стоимость товара с учетом скидок и наценок.
Driver.Price = 6;
Driver.Summ1Enabled = false;
Driver.Tax1 = 1;
Driver.Department = 1;
Driver.PaymentTypeSign = 4; //Признак способа расчета для ФФД 1.05
Driver.PaymentItemSign = 1; //Признак предмета расчета
//организация передачи наименования товарной позиции. Мах длинна не более 128 сим.
Driver.StringForPrinting = "Пачка сигарет";
Driver.FNOperation();
Driver.MarkingType = 5; //В данное свойство передаем тип маркируемого товара
Driver.GTIN = "00000046149350"; //Передаем код GTIN
Driver.SerialNumber = "69892LS14TEST"; //Передаем серийный номер
Driver.FNSendItemCodeData();
Согласно документу ЦРПТ, который определяет Рекомендации по способу передачи информации в составе обменных форматов ККТ
для регистрации выбытия лекарственных препаратов в ИС МДЛП необходимо заполнить тег 1084, который состоит из:
1085 - mdlp (обычный чек) ИЛИ mdlp3108805 (чек с позициями рецепта)
1086 - идентификатор места деятельности субъекта ИЛИ dnНОМЕРРЕЦЕПТА&ddДАТАОТПУСКА&psСЕРИЯРЕЦЕПТА&sidСУБЖЕКТИД&
1191 - тут будет отмечена деленка, если она есть в этой позиции (значение mdlp, для целой упаковки ИЛИ mdlpX/Y,
где X частей отдали из Y всего частей в упаковке, в случае отпуска делимой упаковки)
Driver.Quantity = 1;
//Стоимость товара с учетом скидок и наценок.
Driver.Price = 0;
Driver.Summ1Enabled = false;
Driver.Tax1 = 1;
Driver.Department = 1;
Driver.PaymentTypeSign = 4; //Признак способа расчета для ФФД 1.05: "Полный расчет"
Driver.PaymentItemSign = 2; //Признак предмета расчета: "Подакцизный товар"
Driver.StringForPrinting = "БАД 'Букет цветов' упаковка №2";
Driver.FNOperation();
Driver.MarkingType = 3; // Тип маркировки: 3- Лекарства
Driver.GTIN = "00000046206220"; //Передаем код GTIN: 14 символов
Driver.SerialNumber = "B978Az2"; //Передаем серийный номер: 7 символов
Driver.FNSendItemCodeData();
Driver.TagNumber = 1191;
Driver.TagType = 7;
Driver.TagValueLength = 3;
Driver.TagValueStr = "mdlp2/3";
Driver.FNSendTagOperation();
Примеры передачи тега 1162 с помощью метода FNSendItemBarcode:
Driver.FNOperation;
Driver.BarCode := '46198488'; //EAN-8
Driver.FNSendItemBarcode;
//...
Driver.FNOperation;
Driver.BarCode := '4606203090785'; //EAN-13
Driver.FNSendItemBarcode;
//...
Driver.FNOperation;
Driver.BarCode := '14601234567890'; //ITF-14
Driver.FNSendItemBarcode;
//...
Driver.FNOperation;
// Data Matrix 1, пример передачи в HEX формате
Driver.BarcodeHex :=
'30 31 30 34 36 30 30 34 33 39 39 33 31 32 35 36' +
'32 31 4A 67 58 4A 35 2E 54 1D 38 30 30 35 31 31' +
'32 30 30 30 1D 39 33 30 30 30 31 1D 39 32 33 7A' +
'62 72 4C 41 3D 3D 1D 32 34 30 31 34 32 37 36 32' +
'38 31';
Driver.FNSendItemBarcode;
//...
Driver.FNOperation;
// Data Matrix 2, пример передачи в HEX формате
Driver.BarcodeHex :=
'30 31 30 34 36 30 34 30 36 30 30 30 36 30 30 30' +
'32 31 4E 34 4E 35 37 52 53 43 42 55 5A 54 51 1D' +
'32 34 30 33 30 30 34 30 30 32 39 31 30 31 36 31' +
'32 31 38 1D 31 37 32 34 30 31 30 31 39 31 66 66' +
'64 30 1D 39 32 74 49 41 46 2F 59 56 6F 55 34 72' +
'6F 51 53 33 4D 2F 6D 34 7A 37 38 79 46 71 30 66' +
'63 2F 57 73 53 6D 4C 65 58 35 51 6B 46 2F 59 56' +
'57 77 79 38 49 4D 59 41 65 69 51 39 31 58 61 32' +
'7A 2F 66 46 53 4A 63 4F 6B 62 32 4E 2B 75 55 55' +
'6D 66 72 34 6E 30 6D 4F 58 30 51 3D 3D';
Driver.FNSendItemBarcode;
//...
Driver.FNOperation;
// Data Matrix 3
Driver.BarCode := '00000046198488X?io+qCABm8wAYa';
Driver.FNSendItemBarcode;
//...
Driver.FNOperation;
Driver.BarCode := 'RU-401301-AAA0277031'; //Мех
Driver.FNSendItemBarcode;
//...
Driver.FNOperation;
// ЕГАИС 2.0
Driver.BarCode :=
'22N00002NU5DBKYDOT17ID980726019019608' +
'CW1A4XR5EJ7JKFX50FHHGV92ZR2GZRZ';
Driver.FNSendItemBarcode;
//...
Driver.FNOperation;
// ЕГАИС 3.0
Driver.BarCode :=
'136222000058810918QWERDFEWT5123456YG' +
'HFDSWERT56YUIJHGFDSAERTYUIOKJ8HGFVCX' +
'ZSDLKJHGFDSAOIPLMNBGHJYTRDFGHJKIREWS' +
'DFGHJIOIUTDWQASDFRETYUIUYGTREDFGHUYT' +
'REWQWE';
Driver.FNSendItemBarcode;
//Первая упаковка
Driver.CheckType = 1;
Driver.Quantity = 1;
//Стоимость товара с учетом скидок и наценок.
Driver.Price = 1;
Driver.Summ1Enabled = false;
Driver.Tax1 = 1;
Driver.Department = 1;
Driver.PaymentTypeSign = 4; //Признак способа расчета для ФФД 1.05: "Полный расчет"
Driver.PaymentItemSign = 2; //Признак предмета расчета: "Подакцизный товар"
//организация передачи наименования товарной позиции. Мах длинна не более 128 сим.
Driver.StringForPrinting = "БАД 'Букет цветов' упаковка №1";
Driver.FNOperation();
Driver.BarCode = "010173456789433921GPiOI99wtmAtM91002492/r+UHmeqRXXfjCTLC2j8MauSavTwXGF/kkzKpaKQ50ZNvoLatTkTeHfGO6vLvGtTlQP0c5MOk0X15Wp3JYp6KA==";
Driver.FNSendItemBarcode();
//Вторая упаковка c льготой 100% в соответствии с описанием: 20190528-Format-zapisi-dannykh-o-vybytii-LP-v-FFD-v2_4
Driver.TagNumber = 1084; //Доп. реквизит пользователя
Driver.FNBeginSTLVTag();
int my_TagID = Driver.TagID;
Driver.TagID = my_TagID;
Driver.TagNumber = 1085;
Driver.TagType = 7;
Driver.TagValueStr = "mdlp3108805";
Driver.FNAddTag();
Driver.TagID = my_TagID;
Driver.TagNumber = 1086;
Driver.TagType = 7;
Driver.TagValueStr = "ps45102&dnАБV492&&781&dd181110&sid71752852194630&";
Driver.FNAddTag();
Driver.FNSendSTLVTag();
Driver.Quantity = 1;
//Стоимость товара с учетом скидок и наценок.
Driver.Price = 0;
Driver.Summ1Enabled = false;
Driver.Tax1 = 1;
Driver.Department = 1;
Driver.PaymentTypeSign = 4; //Признак способа расчета для ФФД 1.05: "Полный расчет"
Driver.PaymentItemSign = 2; //Признак предмета расчета: "Подакцизный товар"
Driver.StringForPrinting = "БАД 'Букет цветов' упаковка №2"; // данное наименование товара на чеке НЕ печатается, но в ОФД передается.
Driver.FNOperation();
Driver.TagNumber = 1191;
Driver.TagType = 7;
Driver.TagValueStr = "mdlp1/10&";
Driver.FNSendTagOperation();
Driver.BarCode = "010465012500817521dqT2iTkBxEwxs240640491ffd092OTMWE7tASOzx1G7dXWcZgM7VICsC8W5g5CVEVr69VqI6dfkyMoUcJ6OhV63wMC5oFnBmdO8tNFqjd8vjDvVXCg==";
Driver.FNSendItemBarcode();
//Закрываем чек
Driver.Summ1 = 5;
Driver.Summ2 = 0;
Driver.Summ3 = 0;
Driver.Summ4 = 0;
Driver.Summ5 = 0;
Driver.Summ6 = 0;
Driver.Summ7 = 0;
Driver.Summ8 = 0;
Driver.Summ9 = 0;
Driver.Summ10 = 0;
Driver.Summ11 = 0;
Driver.Summ12 = 0;
Driver.Summ13 = 0;
Driver.Summ14 = 0;
Driver.Summ15 = 0;
Driver.Summ16 = 0;
Driver.RoundingSumm = 0;
Driver.TaxType = 1;
Driver.StringForPrinting = "====================================================";
Driver.FNCloseCheckEx();
EAN 13 Обычный метод
Driver.MarkingType = 17677; // Тип маркировки EAN-13
Driver.BarCode = "2000982913815";
Driver.FNSendItemCodeData();