Как правильно перенести справочник Номенклатура при переходе с УТ 10.3 на УТ 11 и избежать типичных ошибок?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

Переход с конфигурации «Управление торговлей», редакция 10.3 на «Управление торговлей», редакция 11 — это не просто очередное обновление программы. Это фундаментальная смена архитектуры данных платформы 1С. Справочник Номенклатура претерпел самые серьезные изменения: изменились принципы хранения единиц измерения, весогабаритных характеристик, штрихкодов, свойств и изображений.

Если вы используете стандартный помощник перехода, велика вероятность столкнуться с тем, что часть критически важных данных перенесется некорректно или потеряется вовсе. В этой статье мы подробно разберем, как устроен перенос основных реквизитов номенклатуры, с какими подводными камнями вы столкнетесь и как решить возникающие проблемы с помощью встроенных инструментов и несложных доработок.

1. Перенос веса и объема

В конфигурации УТ 10.3 значения веса и объема хранились непосредственно в карточке товара либо в справочнике единиц измерения. В УТ 11 весогабаритные характеристики тесно связаны с механизмом Упаковок и могут рассчитываться динамически.

Рассмотрим подробнее главную проблему: в УТ 11 расчет веса может использовать структуру числителя и знаменателя для корректного пересчета дробных значений. Если в вашей исходной базе велся учет в граммах или миллилитрах (например, значение веса было 0.150 кг), стандартные правила переноса могут округлить эти значения до целых чисел или перенести их с ошибками. Это критически ломает дальнейшую складскую логистику и расчет доставки.

Решение: Перед запуском переноса убедитесь, что в УТ 11 настроены правила округления и базовые единицы измерения веса. После переноса обязательно запустите выборочную проверку карточек номенклатуры с дробными весогабаритными характеристиками. Если данные исказились, потребуется написать простую обработку для прямого переноса значений веса из старой базы.

2. Штрихкоды номенклатуры

В УТ 10.3 штрихкоды хранились в регистре сведений Штрихкоды, а в УТ 11 они записываются в регистр ШтрихкодыНоменклатуры. Перенос этих данных имеет свои особенности:

  1. Стандартные правила переносят штрихкоды только для объектов с типом номенклатуры «Товар» или «Услуга». Специфические типы могут быть проигнорированы.
  2. Если штрихкод в УТ 10.3 был жестко привязан к конкретной единице измерения (например, к коробке), а в УТ 11 эта единица измерения перенеслась некорректно, штрихкод потеряет свою привязку и станет невалидным.

Если стандартный перенос не справился, мы можем быстро написать обработку для прямого переноса штрихкодов. Проанализируем пример кода для загрузки штрихкодов напрямую:


// Пример переноса штрихкодов через прямое подключение COM или чтение XML
НоваяЗапись = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьМенеджерЗаписи();
НоваяЗапись.Штрихкод = СтрокаДанных.Штрихкод;
НоваяЗапись.Номенклатура = НайденнаяНоменклатураСсылка;
НоваяЗапись.Характеристика = НайденнаяХарактеристикаСсылка;
НоваяЗапись.Упаковка = НайденнаяУпаковкаСсылка;
НоваяЗапись.Записать(Истина);

3. Единицы измерения и упаковки

Выясним причину, почему после переноса база данных УТ 11 может резко вырасти в объеме и стать неудобной для работы. В УТ 10.3 у товара могли одновременно существовать: единица хранения остатков, единица отчетов, единица мест и базовая единица. В УТ 11 логика иная — есть одна базовая единица хранения, а все остальные альтернативные варианты реализуются через справочник Упаковки.

При переносе для каждого товара, имевшего дополнительные единицы измерения в старой базе, УТ 11 создает индивидуальный набор упаковок. В результате справочник упаковок раздувается миллионами дублирующих записей (например, индивидуальная упаковка «Коробка (10 шт.)» создается отдельно для каждого товара).

Решение: После завершения переноса рекомендуется объединить индивидуальные упаковки в общие (типовые) наборы упаковок. Это можно сделать как вручную для групп товаров, так и с помощью написания групповой обработки, которая сопоставит одинаковые индивидуальные упаковки и заменит их ссылками на общие наборы.

4. Свойства и категории (Дополнительные реквизиты)

В УТ 11 привычные по старой версии «Свойства» и «Категории» заменены механизмами «Дополнительные реквизиты» и «Дополнительные сведения». Они переносятся в План видов характеристик ДополнительныеРеквизитыИСведения.

Разберем по шагам известную проблему: очень часто после стандартного переноса перенесенные свойства отображаются в карточке товара в УТ 11 как «зачеркнутые». Их невозможно отредактировать, и они не видны в стандартных настройках дополнительных реквизитов.

Причина этого кроется в том, что правила переносят сами свойства и их значения, но не связывают их с конкретным Набором дополнительных реквизитов, который привязан к определенному Виду номенклатуры в новой базе.

Для исправления этой ситуации необходимо привязать перенесенные свойства к наборам дополнительных реквизитов. Посмотрим на пример кода, который решает эту задачу:


// Привязка свойства к набору дополнительных реквизитов вида номенклатуры
НаборОбъект = Справочники.НаборыДополнительныхРеквизитовИСведений.НайтиПоНаименованию("Свойства_ИмяВидаНоменклатуры").ПолучитьОбъект();
Если НаборОбъект <> Неопределено Тогда
    НоваяСтрока = НаборОбъект.Реквизиты.Добавить();
    НоваяСтрока.Свойство = СсылкаНаПеренесенноеСвойство;
    НаборОбъект.Записать();
КонецЕсли;

5. Характеристики номенклатуры

При переносе характеристик критически важно обратить внимание на настройку в помощнике выгрузки из УТ 10.3 под названием «Сворачивать характеристики номенклатуры».

Проанализируем два сценария работы этого флага:

  1. Флаг выключен: Для каждой позиции номенклатуры в УТ 11 будет создана индивидуальная характеристика. Если у вас 10 000 товаров с цветом «Красный», система создаст 10 000 индивидуальных характеристик «Красный». Это приведет к огромному дублированию данных и замедлению работы базы.
  2. Флаг включен: Система анализирует свойства характеристик в УТ 10.3. Если они заполнены единообразно, программа создаст в УТ 11 «Общие характеристики для вида номенклатуры». Это наиболее правильный вариант с точки зрения архитектуры УТ 11.

Важный нюанс с ценами: Если в УТ 10.3 цены регистрировались в разрезе характеристик, после переноса прайс-листы могут перестать отображаться. Чтобы характеристики корректно участвовали в механизмах ценообразования новой УТ 11, часто требуется программно перезаписать элементы перенесенного справочника характеристик для обновления их внутренних индексов.

6. Изображения и присоединенные файлы

В УТ 10.3 картинки хранились в справочнике ХранилищеДополнительнойИнформации. В УТ 11 они переносятся в справочник НоменклатураПрисоединенныеФайлы.

При переносе картинок вы гарантированно столкнетесь со следующими проблемами:

Рекомендованный алгоритм переноса картинок:

  1. В стандартном помощнике перехода отключите выгрузку картинок.
  2. В базе УТ 10.3 запустите обработку, которая выгрузит все изображения в папку на жестком диске. Имена файлов должны соответствовать кодам или артикулам товаров (например, 00000123.jpg).
  3. В новой базе УТ 11 запустите обработку загрузки, которая найдет товары по коду/артикулу и программно прикрепит к ним файлы из этой папки.

Общие рекомендации по подготовке базы перед переносом

Чтобы минимизировать количество ошибок при переносе справочника Номенклатура, выполните следующие шаги перед началом выгрузки данных:

← На главную