Штрих-код не попадает в печать ценников Розница/УНФ 3.0
Для тех товаров, что были перенесены из предыдущей учетной программы, штрих-код не показывался в печати ценников:

Я создал тестовый товар тест — для него штрих-код попадал.
Отладчика у меня не было, поэтому попробовал понять логически.
Попытался сравнить ссылки на объекты, но там все совпадало:

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

Почему-то в форме записи штрих-кода единица не показывается.
Я сравнил ссылки на записи регистров сведений.
Для ошибочных товаров:
e1cib/data/РегистрСведений.ШтрихкодыНоменклатуры?Штрихкод=40**********&Номенклатура=8175d8cb8abf424c11ee5032fa8f36d2&Характеристика=00000000000000000000000000000000&Партия=00000000000000000000000000000000&ЕдиницаИзмерения=8175d8cb8abf424c11ee506ca44fc96f
Для товара тест:
e1cib/data/РегистрСведений.ШтрихкодыНоменклатуры?Штрихкод=2000973122721&Номенклатура=8185d8cb8abf424c11f0ff91b2d105d9&Характеристика=00000000000000000000000000000000&Партия=00000000000000000000000000000000&ЕдиницаИзмерения=00000000000000000000000000000000
Обнаружил, что ошибка возникла из-за того, что при переносе штрих-кодов проставили единицу измерения.
Решил ее сбросить. Сначала пытался написать код с помощью ИИ, но тот был далековат от истины.
Мой получился таким:
Выборка = РегистрыСведений.ШтрихкодыНоменклатуры.Выбрать(); // Перебираем записи по одной Пока Выборка.Следующий() Цикл // Проверяем, заполнена ли единица //Сообщить(Выборка.Номенклатура); Если ЗначениеЗаполнено(Выборка.ЕдиницаИзмерения) И ЗначениеЗаполнено(Выборка.Штрихкод) Тогда //=== Добавляем запись без единицы МЗ = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьМенеджерЗаписи(); //Единицу измерения не копируем, она очистится ЗаполнитьЗначенияСвойств(МЗ, Выборка, , "ЕдиницаИзмерения"); МЗ.ЕдиницаИзмерения = Неопределено; МЗ.Записать(Истина); Сообщить("" + МЗ.Номенклатура + " (" + МЗ.Номенклатура.Код +")" + " : " + МЗ.ШтрихКод); //=== Удаляем запись с единицей МЗ = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьМенеджерЗаписи(); ЗаполнитьЗначенияСвойств(МЗ, Выборка); МЗ.Удалить(); //Прервать; //Можно использовать для отладки, проверки первой записи КонецЕсли; КонецЦикла;
По ощущением какая-то функциональная опция блокирует показ единицы, но я не обнаружил ее:

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

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




Свежие комментарии