1С 8. Разрешительный режим на кассах. Честный знак. Онлайн проверка с 01.04.2024. Офлайн проверка ЛМ ЧЗ с 01.03.2025 (обычные и управляемые формы) плюс собственный сервис онлайн и офлайн проверки ЛМ ЧЗ

13.02.25

Интеграция - ККМ

Реализован механизм взаимодействия 1С 8 с Честным знаком Онлайн проверки и Офлайн проверки ЛМ ЧЗ. (обычные и управляемые формы) плюс реализовал собственный сервис онлайн и офлайн проверки ЛМЧЗ с целью минимизации внедряемого кода основной программы.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
ОнлайнПроверкаМарокЧерезЦРПТ_РР_002.cf
.cf 4,31Mb ver:002
8
8 Скачать (3 SM) Купить за 2 450 руб.

Для 1С 7.7: //infostart.ru/1c/tools/2077143/

Согласно документации, находящейся по ссылке:
https://честныйзнак.рф/business/projects/retail/checkout/regulations/ описал методику работы. Учел временные блокировки серверов (по умолчанию на 15 мин.), то, что запросы доступных площадок нужно делать раз в шесть часов, то, что может быть аварийный режим в самом ЦРПТ,...... , все эти ситуации работают в автоматическом режиме:

Функция ВыполнитьОнлайнПроверкуЦРПТ(ВходныеПараметры,ВыходныеПараметры,ПовторЗапроса=0) Экспорт	
	Рез	= Истина;      
	
	Если ПолучитьКонстанту("ОнлайнПроверкаМарокЧерезЦРПТ") И Не ПолучитьКонстанту("АварийнаяБлокировкаОнлайнПроверокМарокЧерезЦРПТ") Тогда						
		//Если ПроверитьТипМаркируемойПродукцииДляОнлайнПроверкиВЦРПТ(ВходныеПараметры.ТекНом)=1 Тогда    //Здесь проверяем, а нужно ли вообще делать проверку данного тимпа продукции									
			Если Не ЗначениеЗаполнено(ВходныеПараметры.Токен) Тогда       			
				ВыходныеПараметры.ОписаниеРезультата = "Ошибка! Не заполнен Токен в Константах для онлайн проверки ЦРПТ!";
				Рез	= Ложь;
			Иначе   
				РезПроверки	= ОбновитьДанныеПлощадокЦРПТ(ВходныеПараметры);			
				ТекущийСерверОнлайнПроверкиЦРПТ					= РезПроверки.Получить("ТекущийСерверОнлайнПроверкиЦРПТ");
				КоличествоДоступныхСерверовОнлайнПроверкиЦРПТ	= РезПроверки.Получить("КоличествоДоступныхСерверовОнлайнПроверкиЦРПТ");
				КодОтвета	= РезПроверки.Получить("КодОтвета");					
				ТекстОшибки	= РезПроверки.Получить("ТекстОшибки");				
				Если КодОтвета=203 Тогда
					//Включили аварийный режим!
				ИначеЕсли КодОтвета=401 Тогда					
					ВыходныеПараметры.ОписаниеРезультата = ТекстОшибки;
					Рез	= Ложь;
				ИначеЕсли Не ЗначениеЗаполнено(ТекущийСерверОнлайнПроверкиЦРПТ) Тогда
					ВыходныеПараметры.ОписаниеРезультата = "Ошибка! Нет доступных серверов для онлайн проверки в ЦРПТ!";										
					ВыходныеПараметры.ПроверитьОфлайн	 = Истина;
					Рез	= Ложь;
				Иначе               
					ВходныеПараметры.Вставить("ТекущийСерверОнлайнПроверкиЦРПТ",ТекущийСерверОнлайнПроверкиЦРПТ);
					РезПроверки = ВыполнитьОнлайнКонтрольМаркиВЦРПТ(ВходныеПараметры);				
					ТекстОшибки	= РезПроверки.Получить("ТекстОшибки");					
					Если ЗначениеЗаполнено(ТекстОшибки) Тогда          
						Рез	= Ложь;
						КодОтвета	= РезПроверки.Получить("КодОтвета");
						ВыходныеПараметры.ОписаниеРезультата = ТекстОшибки;						
						Если (КодОтвета<>200) Тогда
							Если (КодОтвета=203) или ((КодОтвета=5000) и (ПовторЗапроса=1)) Тогда //203 - Включена Аварийная ситуация!   5000 - просто можно пробивать далее без проверки!
								Если (КодОтвета=203) Тогда
									УстановитьСнятьАварийнуюБлокировкуОнлайнПроверкиЦРПТ(ТекущаяДата());
								КонецЕсли;	
								Рез	= Истина;
								ВыходныеПараметры.ОписаниеРезультата = "";
								ЗаписатьЛогОшибкиОнлайнПроверкиЦРПТ(ВходныеПараметры.ТекНом,ВходныеПараметры.текКМ,ТекстОшибки,КодОтвета);
							Иначе   								
								Если (КодОтвета=429) или (КодОтвета>=500) Тогда     															
									Если ПовторЗапроса	= 0 Тогда
										ПовторЗапроса	= 1;
									Иначе                    
										ПовторЗапроса	= 0;										
									КонецЕсли;																							
								Иначе
									ПовторЗапроса	= 0;									
								КонецЕсли;								
								Если ПовторЗапроса	= 0 и  КоличествоДоступныхСерверовОнлайнПроверкиЦРПТ>1 Тогда //Последний оставшийся сервер блокировать не будем, смысла особого не вижу!								
									УстановитьБлокировкуСервераОнлайнПроверкиЦРПТ(ТекущаяДата(),ТекущийСерверОнлайнПроверкиЦРПТ);     									
								КонецЕсли;									
Функция ВыполнитьОнлайнКонтрольМаркиВЦРПТ(ВходныеПараметры)
	Токен			= ВходныеПараметры.Токен;
	Марка			= ВходныеПараметры.текКМ;
	НомерФН			= ВходныеПараметры.НомерФН;
	ИНН				= ВходныеПараметры.ИНН;
	ТестовыйКонтур	= ВходныеПараметры.ТестовыйКонтур;    //С первого апреля 2024г. Тестовый контур работать не будет!!!   //АдресТестовый  = "markirovka.sandbox.crptech.ru";
	ТекущийСерверОнлайнПроверкиЦРПТ	= ВходныеПараметры.ТекущийСерверОнлайнПроверкиЦРПТ;
	
	Рез = Новый Соответствие();
	Рез.Вставить("ИдЗапроса","");
	Рез.Вставить("ВременнаяМетка","");
	Рез.Вставить("ТекстОшибки","");	
	Рез.Вставить("ВремяЗапроса",0);	
	Рез.Вставить("КодОтвета",0);
	
	Марка = JSONСтрока(СокрЛП(Марка));   	
	Марка = СтрЗаменить(Марка, "(Код29)", "\u001d");
	Марка = СтрЗаменить(Марка, Символ(29), "\u001d");
	Если ЗначениеЗаполнено(ТекущийСерверОнлайнПроверкиЦРПТ) Тогда		
		ДанныеУРЛ = РазобратьСерверПортИзСтроки(СокрЛП(ТекущийСерверОнлайнПроверкиЦРПТ));		
		АдресРесурса  = ДанныеУРЛ.Адрес;
		ПортРесурса   = ДанныеУРЛ.Порт;		
		Если ПортРесурса = 0 Тогда
			ПортРесурса = 443;
		КонецЕсли;			
		ИспШифрование = ДанныеУРЛ.Шифрование;				
	Иначе	
		Рез.Вставить("ТекстОшибки", "Ошибка! Не выбран сервер онлайн проверки ЦРПТ!");
		Возврат Рез;       
	КонецЕсли;   		
	Если ПустаяСтрока(ИНН)=0 Тогда
		ЧастьЗапросаИНН = ",""inn"":"""+СокрЛП(ИНН)+"""";
	Иначе
		ЧастьЗапросаИНН = "";
	КонецЕсли;  	
	Если ПустаяСтрока(НомерФН)=0 Тогда
		ЧастьЗапросаФН  = ",""fiscalDriveNumber"":"""+СокрЛП(НомерФН)+"""";
	Иначе
		ЧастьЗапросаФН  = "";
	КонецЕсли;		
	ТелоЗапросаJSON = "{""codes"":["""+Марка+"""]"+ЧастьЗапросаИНН+ЧастьЗапросаФН+"}"; 	
	
	ТаймаутОжидания	= ПолучитьКонстанту("ТаймаутОжиданияОтветаОтЦРПТ");
	Если ТаймаутОжидания=0 Тогда
		ТаймаутОжидания	= 2;
	КонецЕсли;
	Если ПолучитьКонстанту("СпособЗапросаВЦРПТ")=0 Тогда
		//Запрос средствами 1С --->		
		Заголовки = Новый Соответствие();
		Заголовки.Вставить("X-API-KEY",Токен);
		Заголовки.Вставить("Accept-Charset","utf-8");
		Заголовки.Вставить("Content-Type","application/json; charset=utf-8");  	
		HTTPЗапрос = Новый HTTPЗапрос("api/v4/true-api/codes/check",Заголовки);

 

Реализован механизм офлайн проверки КИ через ЛМ ЧЗ (Локальный модуль «Честный ЗНАК»), который начинает действовать с 01.03.2025г. Также через 1С можно произвести первоначальную инициализацию ЛМ ЧЗ, произвести проверку статуса ЛМЧЗ и дату последнего обновления БД.

Функция ОфлайнПроверкаКИ_ЛМЧЗ(ВходныеПараметры)
	АдресРесурса	= ВходныеПараметры.АдресРесурса;
	ПортРесурса		= ВходныеПараметры.ПортРесурса;
	ЛогинПароль		= ВходныеПараметры.ЛогинПароль;	
	НомерФН			= ВходныеПараметры.НомерФН;
	КИ				= ВходныеПараметры.КИ;
	Если АдресРесурса="" Тогда
		АдресРесурса	= "127.0.0.1";
	КонецЕсли;
	Если ПортРесурса=0 Тогда
		ПортРесурса	= 5995;
	КонецЕсли;	
	Если ЛогинПароль="" Тогда
		ЛогинПароль	= "admin:admin";
	КонецЕсли;
	ЛогинПароль		= "Basic "+Base64_Закодировать(ЛогинПароль);	
	
	Рез = Новый Соответствие();
	Рез.Вставить("ИдЗапроса","");
	Рез.Вставить("ВременнаяМетка","");
	Рез.Вставить("ТекстОшибки","");	
	Рез.Вставить("ВремяЗапроса",0);	
	Рез.Вставить("КодОтвета",0);
	   	
	ТаймаутОжидания	= ПолучитьКонстанту("ТаймаутОжиданияОтветаОтЦРПТ");
	Если ТаймаутОжидания=0 Тогда
		ТаймаутОжидания	= 2;
	КонецЕсли;
	
	Если ПолучитьКонстанту("СпособЗапросаВЦРПТ")=0 Тогда
		//Запрос средствами 1С --->
		Заголовки = Новый Соответствие();
		Заголовки.Вставить("Accept-Charset","utf-8");		
		Заголовки.Вставить("Content-Type","application/json; charset=utf-8");  	
		Заголовки.Вставить("Authorization",ЛогинПароль);		
		Заголовки.Вставить("X-ClientId",НомерФН);	
		HTTPЗапрос = Новый HTTPЗапрос("api/v1/cis/check?cis="+КИ,Заголовки);		   	
		Попытка					
			Соединение = Новый HTTPСоединение(АдресРесурса,ПортРесурса,,,,ТаймаутОжидани

 

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

 

Во всех вариантах, происходит сначала Онлайн проверка и если возможно - Офлайн проверка. В качестве ответа получаем готовый результат UUID для передачи на кассу Тега: 1265 (при положительном результате))))) ):

UUID=638f669e-7e8e-85a9-3453-2c429d001150&Time=1731658318006

 

В качестве примера все написанные запросы реализованы двумя вариантами: стандартными средствами 1С и через Curl.exe

Весь код программы выведен в отдельную подсистему.

Код полностью открыт. 

Тестировалось все на платформе: 8.3.17. (но думаю, проблем не будет, если даже опуститься до 8.2 и до 8.1 без управляемых форм) Конфигурация: любая!!!

Данный механизм можно взять как готовую основу для внедрения в свою программу. Логика работы с ЦРПТ реализована (согласно документации), думаю, почти вся.  Как минимум можно сэкономить немало времени на внедрении.

 

Марки нужно вводить с экранированным символом GS в виде:  "(Код29)"

Пример: ...........DEh8o1(Код29)918039(Код29)92nONJn6nwAm................

 

Обратите внимание: представленный механизм не производит проверку правильности вводимой марки и КИ!!!! Прежде чем задать вопрос, проверьте, что вводимая марка и КИ правильные.

 

 

Обновление: 13.02.2025 - Архив с данными 006.zip

Если КИ не заполнен, то будет выделен из Марки.

См. также

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

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

44000 руб.

28.08.2020    359773    2415    137    

1067

ККМ Кассовые операции Розничная торговля Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия 1.6 1С:Бухгалтерия автономного учреждения Россия Платные (руб)

Универсальная обработка для обслуживания любых фискальных регистраторов (ККТ), в том числе Веб сервер АТОЛ. Работает в соответствии с 54-ФЗ. (ФФД 1.0, ФФД 1.05, ФФД 1.1, ФФД 1.2). Подключайте любую онлайн кассу к практически любой конфигурации. Нет необходимости обновлять 1С. Можно бесплатно скачать и протестировать. Может работать одновременно с несколькими онлайн-кассами, либо одной с разных рабочих мест. (через RDP, TCP\IP или веб-сервер) Позволяет разделить один чек сразу на несколько ККТ или на несколько систем налогообложения. Поддерживает разрешительный режим и маркировку. Можно настроить собственный шаблонов чека. Можно использовать эквайринг там, где он не поддерживается. Работает на LINUX и Windows

6000 руб.

27.02.2017    809330    5141    9746    

2928

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

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

55200 руб.

16.08.2019    93589    253    87    

148

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

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

828 руб.

15.12.2015    172215    857    369    

405

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

Обработка осуществляет обслуживание ККТ АТОЛ, Штрих, Вики Принт и Меркурий для конфигураций "УТ 10.3", "КА 1.1", "УПП 1.3", "Розница 1.0", "БП 2.0" и других отраслевых решений, построенных на основе указанных выше конфигурациях. Поддерживает возможность параллельно пробития чеков на одной ККМ несколькими пользователями. Поддерживает Веб-сервер Атол. Соответствует требованиям 54-ФЗ. Поддерживает ФФД 1.0, 1.05, 1.1 и 1.2. Разделяет чеки по нескольким СНО. Поддерживает механизмы подключения ККТ по TCP/IP, для работы через RDP или интернет. Поддержка маркировки и разрешительного режима. Поддержка пробития чеков с новыми ставками НДС 5% и НДС 7%.

5880 руб.

25.05.2015    340414    2041    3113    

1059

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

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

19200 руб.

14.10.2020    63985    389    103    

318

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

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

6540 руб.

09.01.2024    5726    75    19    

77

WEB-интеграция Администрирование веб-серверов Платные (руб)

Веб-портал обеспечивает удобный доступ к конфигурации 1С:ITIL, 1С:ITILIUM, Управление IT-отделом 8 через интернет с любого устройства посредством браузера, увеличивая эффективность работы пользователей и снижая нагрузку на сервер. Быстрая инсталляция портала за пару часов, удобный и интуитивно понятный интерфейс и безопасность данных помогут упростить работу с порталом и ускорить выполнение бизнес-процессов компании.

128000 руб.

19.12.2023    2201    2    0    

9
Отзывы
7. buka99999 8 14.02.25 13:19 Сейчас в теме
(4) Вопросы, которые Вы задаете, ни как не относятся к текущей публикации. Ваши вопросы связаны со знанием логики работы розничной торговли. А именно, взаимодействия товара учетной системы (в текущем случае 1С), кассового оборудования, системы честный знак и оператора фискальных данных.
По моим знаниям, логика работы такова (постараюсь коротко и только тот случай, когда продавец нажал кнопку "Пробить" и происходит это уже начиная с первого марта 2025 года и не учитываю моменты "Аварийной ситуации" и тому подобные нюансы):
1- Марка проверяется в системе ЧЗ. Если ответ положительный, то смотрим пункт "2". Если марка не "валидна", то стоп продажи. Если ответ отрицательный, по вине работы честного знака, то идет проверка через ЛМ ЧЗ. Если ответ ЛМ ЧЗ положительный, то смотрим пункт "2", если отрицательный, то стоп продажи.
2- Проверка Марки средствами ККТ. Если ответ положительный, то смотрим пункт "3", если отрицательный, то стоп продажи.
3- Вся собранная выше информация запихивается в нужные теги ККТ, пробивается чек. Далее ККТ отправляет информацию о пробитом чеке оператору ОФД. Оператор ОФД отправляет эти данные в налоговую и при дополнительном заключенном договоре оператора ОФД и Вами (не у всех операторов ОФД это есть по умолчанию), оператор ОФД отправляет данные в ЧЗ. А далее ЧЗ вносит информацию о факте выбытия Марки.

Надеюсь довольно подробно ответил на Ваши вопросы.
TVA_11; VyacheslavShilov; +2 Ответить
Остальные комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. TVA_11 14.02.25 08:46 Сейчас в теме
Здравствуйте!

Александр, зачем нужно проводить онлайн проверку Маркировки, если на ФФД 1.2 проверку осуществляет касса?
И вы это сами в начале темы пишите.

Разрешительный режим должен ведь быть реализован за счет команд 1Ски кассе?
2. Miket78 35 14.02.25 10:23 Сейчас в теме
(1) Разрешительный режим проверяет много чего кроме того, что проверяет касса на ффд 1.2. Например выбывшие коды и список заблокированных GTIN. Проверка производится до фискализации и касса вообще тут не задействована.
3. buka99999 8 14.02.25 10:52 Сейчас в теме
(1)Добрый день. Я могу, конечно, написать красивый, развернутый ответ, но напишу коротко и возможно не очень красиво. Ваш вопрос связан с Вашим незнанием порядка работы розничной торговли. Перед пробитием чека, на данный момент времени, должно происходить две проверки, первая проверка - это "Разрешительный Режим" через сайт честного знака, вторая проверка - это проверка средствами кассового аппарата. С первого марта 2025 года, при невозможности произвести проверку "РР", необходимо делать проверку через "Локальный модуль" ЧЗ.
Не знаю как у других, но у меня, после ввода "РР" и ЛМ ЧЗ, возникает вопрос, а зачем делать проверку средствами ККТ, ведь предыдущие проверки более исчерпывающие. Но думаю мое мнение мало кого будет интересовать! )
VyacheslavShilov; +1 Ответить
4. TVA_11 14.02.25 12:39 Сейчас в теме
(3) Хорошо, а что, тогда будет после успешной отправки документа кассой и сбоя при пробитии?

Маркировка выбыла?
5. Miket78 35 14.02.25 13:03 Сейчас в теме
(4) При проверке РР статус марки не меняется. Просто признак проверки записывается в чек. Можно сто раз проверить по РР и не пробивать чек. Ничего за это не будет.
7. buka99999 8 14.02.25 13:19 Сейчас в теме
(4) Вопросы, которые Вы задаете, ни как не относятся к текущей публикации. Ваши вопросы связаны со знанием логики работы розничной торговли. А именно, взаимодействия товара учетной системы (в текущем случае 1С), кассового оборудования, системы честный знак и оператора фискальных данных.
По моим знаниям, логика работы такова (постараюсь коротко и только тот случай, когда продавец нажал кнопку "Пробить" и происходит это уже начиная с первого марта 2025 года и не учитываю моменты "Аварийной ситуации" и тому подобные нюансы):
1- Марка проверяется в системе ЧЗ. Если ответ положительный, то смотрим пункт "2". Если марка не "валидна", то стоп продажи. Если ответ отрицательный, по вине работы честного знака, то идет проверка через ЛМ ЧЗ. Если ответ ЛМ ЧЗ положительный, то смотрим пункт "2", если отрицательный, то стоп продажи.
2- Проверка Марки средствами ККТ. Если ответ положительный, то смотрим пункт "3", если отрицательный, то стоп продажи.
3- Вся собранная выше информация запихивается в нужные теги ККТ, пробивается чек. Далее ККТ отправляет информацию о пробитом чеке оператору ОФД. Оператор ОФД отправляет эти данные в налоговую и при дополнительном заключенном договоре оператора ОФД и Вами (не у всех операторов ОФД это есть по умолчанию), оператор ОФД отправляет данные в ЧЗ. А далее ЧЗ вносит информацию о факте выбытия Марки.

Надеюсь довольно подробно ответил на Ваши вопросы.
TVA_11; VyacheslavShilov; +2 Ответить
9. TVA_11 20.02.25 14:29 Сейчас в теме
(7)
Проверка Марки средствами ККТ


А проверка Марки средствами ККТ, по какой схеме у вас реализована?

***
Различное ПО может использовать для работы ККТ с ФФД 1.2 одну из наиболее удобных схем интеграции. В данном документе представлены четыре типа схем, которые можно использовать при интеграции для кассового чека продажи. Основными различиями представленных является их уровень сложности (для использования в разных торговых предприятиях с маленьким/большим оборотом), скорость выполнения заданий по схеме (при наличии/отсутствии ожидания результата проверки КМ).

Схема 1. Простая схема, в которой используются JSON-задания, проверка массива кодов маркировки (КМ) производится при формировании кассового чека продажи. Данная схема рекомендуется для применения на начальном этапе интеграции.

Схема 2. Схема аналогична первой схеме, в ней также используются JSON-задания, проверка массива КМ осуществляется до формирования кассового чека продажи, добавлена одна точка интеграции.

Схема 3. Схема усложненная, с использованием не только JSON-заданий, но и методов Драйвера ККТ, осуществляется последовательная проверка кодов маркировки каждой позиции до формирования чека продажи. Схема рекомендуема к применению в торговых предприятиях с небольшим оборотом маркированных товаров.
***

пс.
Насколько понимаю последнее реализовано в УТ 10.3 на уровне заготовки:

ПроверкаЕдинымМетодомБПО = ШтрихкодированиеИСМПКлиент.ИспользуетсяВерсияБПОСЕдинымМетодомПроверкиКМСредствамиККТ();
10. buka99999 8 20.02.25 18:48 Сейчас в теме
(9) Будьте добры. Внимательно прочитайте тему данной публикации. Здесь где-то сказано про проверку средствами ККТ?
Во вложении я прикрепил файл (который можно скачать самостоятельно с сайта ЧЗ, ссылку выкладывал в описании), по методике которого был реализован опубликованный здесь механизм.
Будьте добры, напишите мне номер странице на которой написано то, что вы цитировали выше и задайте себе же вопрос: "Вы уверены, что пишите по теме?"
Всех, Вам благ!!!
Прикрепленные файлы:
2023_09_01_методические_рекомендации_в01_3_rev_и_офлайн_2.pdf
12. TVA_11 21.02.25 08:43 Сейчас в теме
(10)

Разрешительный режим на кассах..

2- Проверка Марки средствами ККТ. Если ответ положительный, то смотрим пункт "3", если отрицательный, то стоп продажи.

Я предположил, что вы это и реализовали.
***

Еще уточнить, вы пишите:

Марка = СтрЗаменить(Марка, Символ(29), "\u001d");

Возможно правильно было бы так?
Марка = СтрЗаменить(Марка, Символ(29), "<0x1d>");
https://knowledge-base.aqsi.ru/pages/viewpage.action?pageId=11895898
13. buka99999 8 21.02.25 11:37 Сейчас в теме
(12)
Возможно правильно было бы так?
Марка = СтрЗаменить(Марка, Символ(29), "<0x1d>");


Забавный Вы человек. Читать ничего не хотите, но вопросы задаете.
Ответ на Ваш вопрос: согласно инструкции, по которой сделана данная публикация, символ GS должен экранироваться: "\u001d" (скриншот на выдержку из документации - прикрепил).
Но Вы в праве экранировать любым значением, которым посчитаете нужным, ссылаясь на абсолютно любую документацию.
У Вас скоро будет "Страйк", по не попаданию вопросов в тему публикации. )))
Вы уж задайте хоть один вопрос связанный с данной темой. )))
Прикрепленные файлы:
14. TVA_11 21.02.25 15:19 Сейчас в теме
(13)

ДанныеДляОтправкиЗапросаНаПлощадку.ТелоЗапросаJSON =

{"codes":["0104610093217740215ni2qBe,PS'>y9100C2925rc3s8gNo2irb8ytumj5CNms3xhLRD/y0hECx0k6JC1VQBfd8kVIKPDrmpLhfNgKfh7f0ei8gajQZiehuE0Flw=="],"inn":"инн","fiscalDriveNumber":""}

{"codes":["0104610093217740215ni2qBe\u001d,PS'>y9100\u001dC2925rc3s8gNo2irb8ytumj5CNms3xhLRD/y0hECx0k6JC1VQBfd8kVIKPDr­mpLhfNgKfh7f0ei8gajQZiehuE0Flw=="],"inn":"инн","fiscalDriveNumber":""}

"КМ не прошел верификацию в стране эмитента". (в обоих случаях)
***

Выходит символ 29 нужен.
6. Miket78 35 14.02.25 13:05 Сейчас в теме
(3) Намудрили они с этой маркировкой. Раньше годами сидели на переписанных вдоль и поперек конфигурациях. Теперь что ни год то новшества.
8. user649990_vldmr16 20.02.25 12:59 Сейчас в теме
Добрый день На УТ 10.3 работать будет?
11. buka99999 8 20.02.25 18:49 Сейчас в теме
(8) Тестировалось все на платформе: 8.3.17. (но думаю, проблем не будет, если даже опуститься до 8.2 и до 8.1 без управляемых форм) Конфигурация: любая!!!
Данный механизм можно взять как готовую основу для внедрения в свою программу. Логика работы с ЦРПТ реализована (согласно документации), думаю, почти вся. Как минимум можно сэкономить немало времени на внедрении.
Оставьте свое сообщение