Штрих-код не попадает в печать ценников Розница/УНФ 3.0

Для тех товаров, что были перенесены из предыдущей учетной программы, штрих-код не показывался в печати ценников:

Я создал тестовый товар тест — для него штрих-код попадал.

Отладчика у меня не было, поэтому попробовал понять логически.

Попытался сравнить ссылки на объекты, но там все совпадало:

Регистр имеет структуру:

Почему-то в форме записи штрих-кода единица не показывается.

Я сравнил ссылки на записи регистров сведений.

Для ошибочных товаров:

e1cib/data/РегистрСведений.ШтрихкодыНоменклатуры?Штрихкод=40**********&Номенклатура=8175d8cb8abf424c11ee5032fa8f36d2&Характеристика=00000000000000000000000000000000&Партия=00000000000000000000000000000000&ЕдиницаИзмерения=8175d8cb8abf424c11ee506ca44fc96f

Для товара тест:

e1cib/data/РегистрСведений.ШтрихкодыНоменклатуры?Штрихкод=2000973122721&Номенклатура=8185d8cb8abf424c11f0ff91b2d105d9&Характеристика=00000000000000000000000000000000&Партия=00000000000000000000000000000000&ЕдиницаИзмерения=00000000000000000000000000000000

Обнаружил, что ошибка возникла из-за того, что при переносе штрих-кодов проставили единицу измерения.

Решил ее сбросить. Сначала пытался написать код с помощью ИИ, но тот был далековат от истины.

Мой получился таким:

Выборка = РегистрыСведений.ШтрихкодыНоменклатуры.Выбрать();

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

По ощущением какая-то функциональная опция блокирует показ единицы, но я не обнаружил ее:

Кстати, даже обработка правки регистров не видит колонку единиц в регистре:

Среда: Розница 3.0.12.261 Объем: 0.8 час

image_pdfimage_print

fixin

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

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

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

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