Маркировка обуви и других нетабачных и немолочных категорий товаров. Без паники

12.03.24

Интеграция - Обмен с ГосИС

Тезисно. Для тех, кто с этим связан. Разбираемся вместе. Добавлен раздел для разработчика

Маркировка обуви, шин, текстиля, ювелирки, парфюма -

для всех нетабачных и немолочных продукций посвящается

 

Для внедренца

1. Основной сайт, откуда черпать информацию и инструкции:

 https://честныйзнак.рф/business/projects/footwear/

2. Страница с методическими инструкциями по теме Маркировки на сайте ИТС - только для партнеров фирмы 1С https://its.1c.ru/db/marking

3. Что значит аббревиатура ЦРПТ и что такое Честный знак - читайте в личном блоге компании ЦРПТ на Хабр https://habr.com/ru/company/chestnyznak/blog/467851/

ЦРПТ - это компания (организация), которая разработала программу "Честный знак". По закону всем участникам оборота обуви придется работать именно с этой организацией и именно через эту программу.

4. Дополнительные примеры, шаблоны файлов xml  вы сможете скачать на сайте Честного знака в разделе Инструкций только после регистрации в качестве участника оборота обуви.

5. КМ = КИ + КХ 

Код маркировки (КМ) состоит из Кода идентификации (КИ) и Крипто-хвоста (КХ), так называемого Кода проверки организации - см. п. 23 ниже.

или см. раздел "Почему код нельзя подделать" https://честныйзнак.рф/vopros-otvet/

6. Как хранится КМ в 1С? 

Хранится только КИ = код GTIN + код Серии. Код GTIN и код Серии присваивает Честный знак. Ваша задача в будущем - сопоставить номенклатуре соответствующий код GTIN и код Серии. В 1С это реализовано через справочник "ШтрихкодыУпаковокТоваров". 

7. Если вдруг столкнетесь с тем, что КМ обуви сканер считывает, а КМ с пачки сигарет не считывает, не пугайтесь. Или к примеру, при сканировании кода маркировки в текстовый блокнот с PDF-картинки - у вас выходит кириллица. Переключите раскладку в английскую клавиатуру. Список подходящих сканеров смотрите ниже по ссылке:

Проверка сканера 2D:  https://честныйзнак.рф/barcode/

8. Рекомендации по считыванию маркированных кодов для сканера + особенности маркировки табачной продукции: https://cl.atol.ru/f/9bb14cfd79/

9. Создание картинки из кода маркировки КМ и тестирование онлайн

https://ru.online-qrcode-generator.com/Barcode-Generator

10. Видео-лекции на сайте ИТС.1С, которые поясняют суть маркировки:

https://its.1c.ru/video/lector20191128-1

https://its.1c.ru/video/lector20191128-2

https://its.1c.ru/video/lector20191128-3

https://its.1c.ru/video/lector20191128-4

https://its.1c.ru/video/lector20191128-5

https://its.1c.ru/video/lector20191128-6

https://its.1c.ru/video/lector20200514-6

11. Планы разработчиков фирмы 1С по обновлению типовых в контексте Маркировки обуви

https://v8.1c.ru/lawmonitor/markirovka/

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

  • Pharma Trax Scanner 
  • приложение Честный Знак
  • ЧекМарк от Клеверенс

 - приложения могут по-разному отображать считанный ДатаМатрикс-код.

13. Методическая инструкция по интеграции УТ 11 с системой Честный Знак

https://its.1c.ru/db/ut114doc#bookmark:StateIS:StateIS - статьи переведены в разряд архивных, но полезного в них много

https://its.1c.ru/db/ut115doc#bookmark:Integrations:Integrations - актуальные статьи и видео

14. Методическая инструкция по интеграции УТ 10.3 с системой Честный Знак 

https://its.1c.ru/db/metod81#content:7478:hdoc

15. Методическая инструкция по интеграции УНФ с системой Честный Знак

https://its.1c.ru/db/metod81#content:7456:hdoc

16. Методическая инструкция по интеграции Розницы с системой Честный Знак

https://its.1c.ru/db/metod81#content:7474:hdoc

17. Вопрос: редактировать ли имеющуюся этикетку с ценой и штрихкодом EAN-13? нужно ли вставить в этот макет этикетки код ДатаМатрикс? или код ДатаМатрикс напечатать отдельной этикеткой - оставить обе этикетки на товаре?

Ответ: ЦРПТ и методисты фирмы 1С рекомендуют печатать код маркировки обуви (то есть ДатаМатрикс-код) отдельной этикеткой и не привязывать к обычной этикетке (со штрихкодом EAN-13).

 
 Пояснение. Две причины

Причины две:
1) на этикетке с ДатаМатрикс-кодом должны быть указаны код товара GTIN и серийный номер - который присваивает Честный Знак. Для тех случаев, когда при продаже ДатаМатрикс-код не считывается сканером, тогда необходимо внести код товара GTIN и серийный номер вручную. То есть код товара GTIN  и серийный номер должны быть отражены на этикетке.

2) второй момент, если у вас изменилась цена на обувь, то вам придется распечатать заново этикетку с ценой. А ЦРПТ в своих рекомендациях запрещает повторно печатать ДатаМатрикс-код. Методисты 1С в свою очередь в своих механизмах заблокировали повторную печать ДатаМатрикс-код (по крайней мере, анонсировали так, а как по факту и в каких конфигурациях - проверяйте, пож-та, сами). Запрет наложили, чтобы не было проблем: что дважды распечатали и наклеили один ДатаМатрикс-код на разные коробки.

18. Пояснения, что такое штрихкод, что такое датамарикс-код, что такое QR-код.

 
 Пояснения

Нужно понимать, что если ваш штрихкод определяется в приложениях из п.12 как Data Matrix, значит он не содержит символов-разделителей GS, и не начинается с символов FNC1 (так называемый префикс).
С другой стороны, если бы он содержал и символы-разделители GS и начинался с префикса FNC1, то он должен определяться как GS1 Data Matrix.
GS1 Data Matrix - это тоже ДатаМатрикс-код, но только другого типа.
QR-код - тоже двумерный код, как ДатаМатрикс, только другого типа.
Все это тоже условно называется штрихкодами - только штрихов нет и только двумерные, а не одномерные, как мы привыкли для EAN-13.

19.  Есть статьи по настройке программы 1С в открытых источниках: 

https://buh.ru/articles/documents/97590/

https://buh.ru/rubric/536/

https://buh.ru/rubric/508/

20. Серии в учетных программах (УТ, КА, ЕРП, УНФ, Розница) это не тоже самое, что серии в Честном знаке !

 
 Пояснения

Серии в УТ - предназначены для учета рекламаций по серийным номерам товаров, для учета товаров по срокам годности,  для учета остатков товаров в рулонах, бухтах, отрезках и т.д., для учета себестоимости товаров с разными сериями.

Серия в Честном знаке - это часть кода маркировки - для учета уникальности каждой пары обуви (каждой коробки).

Нужно ли их как-то связывать?  Вопрос открытый.

Для размышления:

- для учета КМ меховых изделий используются серии - серия идентифицирует экземпляр товара, имеющий уникальный серийный номер, в данном случае им будет номер КиЗ (контрольный идентификационный знак, тоже самое что и код маркировки). Дополнительно в серии указывается наличие RFID метки.

- для учета алкогольной продукции серии используются в ряде сценариев, но в других сценариях могут не использоваться. Для идентификации отдельной единицы алкогольной продукции (кода маркировки) серии не применяются – для этого в подсистеме взаимодействия с ЕГАИС есть собственный механизм поштучного учета маркируемой продукции.

- продукция, подконтрольная ветеринарному надзору учитывается в разрезе партий – записей складского журнала в терминах ВетИС. В ряде сценариев для этих целей используются серии - идентифицирующие партию, плюс дополнительно в серию указываются дополнительные сведения в виде отдельных полей.

Для разработчика

Представленный код и рекомендации - это плод моих самостоятельных изысканий и тестирований. Примеры не претендуют на полноту и универсальность.

1. Код маркировки состоит из 4 групп, все группы разделены между собой или цифрами 01, 21, 91, или спецсимволами. Код GTIN и серийный номер можно получить из длиннющего кода маркировки, получаемого или из файла csv или при сканировании этикетки товара. 

На входе у вас текстовый код маркировки с криптохвостом вашей организации. На выходе получаете 4 группы символов: код GTIN, серию, ключ и код проверки. Алгоритм представлен для товаров обувной продукции, но не для логистических упаковок.

 
 Листинг 1. Как разложить код маркировки на группы 

 

Функция РазложитьКодМаркировкиНаГруппы(Знач КМ)
	
	МассивГрупп = Новый Массив;
	
	УдалитьСимволРазделителяГрупп(КМ);
	
	Если Лев(КМ, 2) = "01" Тогда
		
		GTIN = Сред(КМ, 3, 14);
		МассивГрупп.Добавить(GTIN); //первый элемент массива
		
		КМ = Прав(КМ, СтрДлина(КМ)-16);
		
		УдалитьСимволРазделителяГрупп(КМ);
		
		Если Лев(КМ, 2) = "21" Тогда
			
			СерийныйНомер = Сред(КМ, 3, 13);
			МассивГрупп.Добавить(СерийныйНомер); //второй элемент массива
			
			КМ = Прав(КМ, СтрДлина(КМ) - 15);
			
			УдалитьСимволРазделителяГрупп(КМ);
			
			Если Лев(КМ, 2) = "91" Тогда
				
				КлючПроверки = Сред(КМ, 3, 4);
				МассивГрупп.Добавить(КлючПроверки); //третий элемент массива
				
				КМ = Прав(КМ, СтрДлина(КМ) - 6);
				
				УдалитьСимволРазделителяГрупп(КМ);
				
				Если Лев(КМ, 2) = "92" Тогда
					
					КодПроверки = Сред(КМ, 3, 88);
					МассивГрупп.Добавить(КодПроверки); //четвертый элемент массива
					
					КМ = Прав(КМ, СтрДлина(КМ) - 90); 	
					
					УдалитьСимволРазделителяГрупп(КМ);
					
					Если СтрДлина(КМ)>0 Тогда
						Сообщить("Имеются нераспознанные символы " + КМ);
					КонецЕсли;
					
				КонецЕсли; 				
				
			КонецЕсли;   			
			
		КонецЕсли;   		
		
	КонецЕсли;  	
	
	Возврат МассивГрупп;
	
КонецФункции

Процедура УдалитьСимволРазделителяГрупп(КМ)
	
	Если Лев(КМ, 1) = Символ(232) ИЛИ Лев(КМ, 1) = Символ(29) Тогда
		КМ = Прав(КМ, СтрДлина(КМ) - 1);
	КонецЕсли;	
	
КонецПроцедуры

 

 

2. Для получения КодаМаркировки, который идет на печать марки на принтере этикеток, - требуется так называемый нормализованный код марки = "01" + КодGTIN + "21" + Серия.

3. Ввод остатков в оборот можно произвести напрямую из программы 1С: при этом надо обновить и настроить программу 1С на обмен с ИС МП (информационная система мониторинга и прослеживаемости). Также можно выгрузить коды товаров в xml-файл (или другие форматы файлов). Если вам надо выгрузить в xml-файл, который вы потом загрузите в личном кабинете Честного Знака, то воспользуйтесь инструкцией с сайта Честного Знака. В инструкции описан формат xml-файла. На сегодняшний день Честный Знак рекомендует переходить на обмен через API Честного Знака.

 
 Листинг 2. Выгрузка из 1С в файл XML для ввода марок в оборот
Процедура ВыгрузитьXMLНажатие(Элемент)
	
	Если НЕ ЗначениеЗаполнено(Организация) ИЛИ ПустаяСтрока(Организация.ИНН) Тогда
		Сообщить("Укажите организацию или проверьте ИНН по ней");
		Возврат;		
	КонецЕсли;
	
	Если ПустаяСтрока(ПутьКФайлуВводВОборот) Тогда
		Сообщить("Выберите файл-xml для выгрузки сведений");
		Возврат;
	КонецЕсли;
	
	Файл = Новый Файл(ПутьКФайлуВводВОборот);

	ЗаписьXML = Новый ЗаписьXML;
	ЗаписьXML.ОткрытьФайл(Файл.ПолноеИмя);
	ЗаписьXML.ЗаписатьОбъявлениеXML();
	
	ЗаписьXML.ЗаписатьНачалоЭлемента("vvod_ostatky");	
	ЗаписьXML.ЗаписатьАтрибут("version","2");
	ЗаписьXML.ЗаписатьАтрибут("action_id","5.4");
	
		ЗаписьXML.ЗаписатьНачалоЭлемента("trade_participant_inn");
		ЗаписьXML.ЗаписатьТекст(Организация.ИНН);
		ЗаписьXML.ЗаписатьКонецЭлемента();
		
		ЗаписьXML.ЗаписатьНачалоЭлемента("products_list");
			
		Для Каждого Стр Из КодыМаркировок Цикл
			
			Если НЕ Стр.Вкл Тогда
				Продолжить;
			КонецЕсли;
			
			КИ = "01" + Стр.КодТовараGTIN + "21" + Стр.СерийныйНомер;
			ЭкранироватьКИ(КИ);
			
			ЗаписьXML.ЗаписатьНачалоЭлемента("product");
				ЗаписьXML.ЗаписатьНачалоЭлемента("ki");
				ЗаписьXML.ЗаписатьТекст(КИ);
				ЗаписьXML.ЗаписатьКонецЭлемента();
			ЗаписьXML.ЗаписатьКонецЭлемента();
			
		КонецЦикла;
				
		ЗаписьXML.ЗаписатьКонецЭлемента();
	
	ЗаписьXML.ЗаписатьКонецЭлемента(); 		
	ЗаписьXML.Закрыть();
	
КонецПроцедуры

 

 

4. Платформа 8.3.12.1685, на которой тестировались алгоритмы, не корректно обрабатывает спец. символы. В итоге полученный файл xml содержал некорректную последовательность символов. Тогда я применил объект ЗаписьТекста для формирования xml-файла для ввода марок в оборот (см. Листинг 3).

 
 Листинг 3. Создание файла XML через объект ЗаписьТекста
//Пример шаблона из раздела Помощь сайта Честный Знак
//<vvod_ostatky version="2" action_id="5.4">
//<trade_participant_inn>1111111111</trade_participant_inn>
//<products_list>
//<product>
//<ki>
//<![CDATA[ 00000000000000000000000000000 ]]>
//</ki>
//<country>111</country>
//<declaration_date>12.04.2019</declaration_date>
//<declaration_number>123456</declaration_number>
//<certificate_type>CONFORMITY_CERTIFICATE</certificate_type>
//<certificate_number>123456</certificate_number>
//<certificate_date>12.04.2019</certificate_date>
//</product>
//</products_list>
//</vvod_ostatky>

Файл = Новый Файл(ПутьКФайлуВводВОборот);

Текст = Новый ЗаписьТекста(Файл.ПолноеИмя, КодировкаТекста.UTF8);

//ЗаписьXML = Новый ЗаписьXML;
//ЗаписьXML.ОткрытьФайл(Файл.ПолноеИмя);
//ЗаписьXML.ЗаписатьОбъявлениеXML();

Текст.ЗаписатьСтроку("<vvod_ostatky version=""2"" action_id=""5.4"">");
Текст.ЗаписатьСтроку("<trade_participant_inn>" + Организация.ИНН + "</trade_participant_inn>");
Текст.ЗаписатьСтроку("<products_list>");

Для Каждого Стр Из КодыМаркировок Цикл
	
	Если НЕ Стр.Обработан Тогда
		Продолжить;
	КонецЕсли;
	
	Текст.ЗаписатьСтроку("<product>");
	
	КИ = "01" + Стр.КодТовараGTIN + "21" + Стр.СерийныйНомер;
	ЭкранироватьКИ(КИ);
	
	Текст.ЗаписатьСтроку("<ki>" + КИ + "</ki>");
	
	Текст.ЗаписатьСтроку("</product>");
	
КонецЦикла;

Текст.ЗаписатьСтроку("</products_list>");
Текст.ЗаписатьСтроку("</vvod_ostatky>");		
Текст.Закрыть();

 

 

Честный знак загружал XML-файл корректно, созданный таким образом. При этом, обратите внимание, сам файл xml был создан заранее и в дальнейшем только перезаписывался.

5. Если в вашем коде товара присутствуют спец. символы, которые являются невалидными для xml-формата: одинарные или двойные кавычки, амперсанд, знак "больше", знак "меньше" - тогда используйте при подготовке файла xml экранирование символов.

 
 Листинг 4. Экранирование символов
Процедура ЭкранироватьКИ(КИ)
	
	КИ = "<![CDATA[" + КИ + "]]>";
	
КонецПроцедуры

 

 

На этом все.

Всем добра! С пользой для всех, Rustig

DataMatrix 2D Сканер ЧестныйЗнак ЦРПТ Маркировка обувь Zint

См. также

Обмен с ГосИС Бюджетный учет Регламентированный учет и отчетность Бухгалтер Пользователь Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление холдингом Химическая промышленность Государственные, бюджетные структуры Электротехника и микроэлектроника Машиностроение и приборостроение Металлургическая промышленность Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Раздельный учет гособоронзаказа в 1С: Отчеты по исполнению госконтрактов, расчетно-калькуляционные материалы и контроль операций для исполнения в срок в 1С: Бухгалтерия 3.0 и Управление Холдингом 3.2. Простая настройка и полное соответствие законодательству. Профессиональный консалтинг и регулярные обновления продукта.

44000 руб.

28.08.2020    376154    2526    137    

1096

Обмен с ГосИС Бухгалтер Пользователь 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Ювелирная промышленность и торговля Россия Управленческий учет Платные (руб)

Интеграция для работы 1С с ГИИС ДМДК. Государственная интегрированная информационная система в сфере контроля за оборотом драгоценных металлов, драгоценных камней и изделий из них на всех этапах этого оборота.

65000 руб.

12.04.2022    19138    162    34    

41

Бюджетный учет Обмен с ГосИС Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Государственные, бюджетные структуры Россия Бухгалтерский учет Платные (руб)

Доработка конфигурации 1С:Бухгалтерия предприятия, редакция 3.0. реализована в виде расширения. Предназначена для ведения раздельного учета и автоматизации заполнения отчетности исполнения контрактов ГОЗ в конфигурациях 1С БП КОРП, ПРОФ, Базовая, БИТ.ФИНАНС.

55200 руб.

16.08.2019    94184    259    89    

151

Оптовая торговля Производство готовой продукции (работ, услуг) Обмен с ГосИС Программист Бухгалтер Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Оптовая торговля, дистрибуция, логистика Пищевая промышленность Россия Бухгалтерский учет Платные (руб)

Автоматический обмен данными с системой ФГИС Меркурий из 1С через ВетИС API: загрузка данных по хозяйствующим субъектам, предприятиям; типов, групп, видов, наименований продукции, сопоставление данных и запись их в базу данных; создание на основании расходных документов транспортных партий, отправка на сервер, печать полученных ветеринарных свидетельств, запрос остатков складского журнала, проведение инвентаризаций, оформление производственных партий.

11500 руб.

08.12.2017    106168    291    110    

147

Оптовая торговля Розничная торговля Обмен с ГосИС Бухгалтер Платформа 1С v8.3 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Бухгалтерский учет Управленческий учет Акцизы Платные (руб)

Автоматизация учета ЕГАИС в 1С для оптовой торговли, производства и импорта. Получение и отправка ТТН, отправка акта о постановке на баланс и акта о списании. Получение остатков. Загрузка и сопоставление номенклатуры и контрагентов. Оправка в ЕГАИС отчетов о производстве и импорте.

828 руб.

15.12.2015    172761    865    370    

407

Обмен с ГосИС Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Платные (руб)

Обработка для обмена платежными документами в формате xml для системы Федерального казначейства "Электронный бюджет" из конфигураций 1С. Поставляется для БП 3.0 Работа только с контрагентами. Сайт "Электронного Бюджета": https://www.budget.gov.ru/

19200 руб.

14.10.2020    64573    393    103    

324

Обмен с ГосИС Программист Пользователь Платформа 1С v8.3 1С:Розница 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Внешняя обработка для инвентаризации кодов маркировки в системе "Честный знак". Позволяет быстро определить и списать коды маркировки проданного, испорченного, утраченного (полный перечень причин списания указан ниже)  товара, которые всё ещё числятся за организацией. Привести в соответствие остатки маркированного товара программы 1С и системы "Честного знака".

6540 руб.

09.01.2024    6485    83    21    

84

Обмен с ГосИС Программист Платформа 1С v8.3 1C:Бухгалтерия Оптовая торговля, дистрибуция, логистика Россия Управленческий учет Платные (руб)

Универсальная конфигурация ХамелеонЗерно для взаимодействия с системой ФГИС Зерно (тестовый+рабочий контур) может использоваться для интеграции в любую конфигурацию на базе 1С, версии ПРОФ и выше. Работа через API 1.0.7 и на API 1.0.8. Для удобства реализован общий интерфейс в виде обработки, схожей с интерфейсом ФГИС Зерно, но возможностей гораздо больше, т.к. при интеграции в Вашу учетную систему, можно на основании Ваших справочников и документов, создавать соответствующие документы и справочники в системе ФГИС Зерно и наоборот.

6000 руб.

27.06.2023    5091    20    2    

17