Делаем маркируемое не маркируемым. РМК

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

Тогда я начал отладку. Оказалось, что уже при подборе товара по штрих-коду 1С определяет, нужна ли марка и требует ее. Этот код я и отлаживал:

Нашел вызов ФормаРМК.ОбработатьВыборТовараНаКлиенте:

Если в отладчике сбросить здесь признак маркируемого товара, то товар проходит как не маркируемый.

Однако если просканировать марку, товар определяется по GTIN (если он занесен в штрих-коды), но при этом товар заносится как маркируемый (со значком марки).

Так что сбрасывать признак маркируемого товара надо раньше в ШтрихкодированиеРМК1СРМК.ЗаполнитьДанныеНайденнойНоменклатуры:

Также при анализе протокола ftptr1C для кассы Атол было выяснено, что если сканировать марку, а не штрих-код, все равно устанавливается и передается в ОФД тег маркировки:

<GoodCodeData GS1.M="****="/>

Поэтому я дополнительно сбрасываю все штрих-коды марки в коде:

&Вместо("ЗаполнитьДанныеНайденнойНоменклатуры")
Процедура урмарк_ЗаполнитьДанныеНайденнойНоменклатуры(СтрокаРезультата, Форма, ПараметрыДляОбработкиШтрихкода, НайденнаяНоменклатура)
	ПродолжитьВызов(СтрокаРезультата, Форма, ПараметрыДляОбработкиШтрихкода, НайденнаяНоменклатура);
	
	ВладелецШтрихкода = СтрокаРезультата.Владелец; //Тут номенклатура
	//Ее можно использовать если нужна специфика для разных видов продукции ЧЗ
	
	//Делаем товар не маркируемым
	НайденнаяНоменклатура.Маркируемый = ложь;
	
	//Можно и особенность сбрасывать, но не нужно
	//Если товар не маркируемый, то не проверяется.
	//НайденнаяНоменклатура.ОсобенностьУчета = Неопределено;    
	
	//Сбрасываем штрихкод еще тут, чтобы марка не попадала в ОФД
	Попытка НайденнаяНоменклатура.Штрихкод = Неопределено;  Исключение КонецПопытки;
	//СтрокаРезультата - структура
	Попытка СтрокаРезультата.ДанныеПО = Неопределено;   Исключение КонецПопытки;
	Попытка СтрокаРезультата.Штрихкод = Неопределено;   Исключение КонецПопытки;
КонецПроцедуры

Все довольно просто, но докопаться было сложно.

Среда: РМК 1.0.19.74 Объем: 1.5 час

image_pdfimage_print

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Вам может также понравиться...

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *