Перенос справочника Номенклатура — одна из самых частых задач при запуске нового учета или разделении баз. На первый взгляд задача кажется простой, но она скрывает в себе множество технических нюансов: от сохранения иерархии папок до переноса связанных цен, штрихкодов и характеристик. В этой статье мы подробно разберем, как выполнить эту операцию максимально эффективно и безопасно.
Этот способ является наиболее быстрым и предпочтительным, если конфигурации вашей старой и новой базы полностью идентичны (например, обе базы — это «Бухгалтерия предприятия 3.0» одного релиза). Основное преимущество данного метода заключается в переносе данных «один в один» с сохранением внутренних уникальных идентификаторов GUID.
Разберем по шагам процесс работы с обработкой:
СправочникСсылка.Номенклатура и установите напротив него флажок.Важно помнить: этот метод переносит данные «как есть». Если в новой базе уже были созданы какие-то элементы вручную (например, единица измерения «шт»), то при загрузке может появиться дубль, так как GUID загружаемого объекта будет отличаться от уже существующего.
Если базы имеют разные конфигурации или вы хотите предварительно «почистить» список товаров, лучше использовать универсальную загрузку из Excel. Проанализируем этот алгоритм:
Экспорт данных:
В исходной базе зайдите в список номенклатуры. Нажмите «Еще» — «Вывести список». Выберите нужные колонки (Наименование, Артикул, Штрихкод, Единица измерения). Полученную таблицу сохраните в формате Excel.
Импорт данных:
В новой базе воспользуйтесь типовой обработкой «Загрузка данных из табличного документа» (в современных конфигурациях она встроена в раздел «Администрирование» — «Обслуживание» — «Корректировка данных»).
Номенклатура.Артикул или Наименование. Это критически важно для предотвращения создания дублей при повторной загрузке.Для программиста это самый гибкий метод. Рассмотрим ситуацию, когда структуры баз различаются. Например, в старой базе единица измерения — это строка, а в новой — ссылка на справочник КлассификаторЕдиницИзмерения. В этом случае обычный XML-перенос выдаст ошибку.
С помощью конфигурации «Конвертация данных» вы можете прописать правила сопоставления полей. Рассмотрим пример кода в обработчике «Поля поиска», если мы хотим сопоставлять товары не по внутреннему ID, а по артикулу:
Если СвойстваПоиска["Артикул"] <> Неопределено Тогда
СсылкаНаОбъект = Справочники.Номенклатура.НайтиПоАртикулу(СвойстваПоиска["Артикул"]);
КонецЕсли;
Этот метод требует времени на обучение (от нескольких дней до недель), но он незаменим при сложных переходах с большим объемом зависимых данных (характеристики, серии, изображения).
Проанализируем типичные ошибки, из-за которых после переноса база может работать некорректно:
ЦеныНоменклатуры. Их нужно переносить отдельно, выгружая документы «Установка цен номенклатуры».ПрисоединенныеФайлы. Если выгрузить только номенклатуру, в новой базе вы увидите пустые карточки без картинок. Необходимо выгружать связанные справочники файлов.После завершения процесса загрузки мы рекомендуем выполнить следующие действия:
Номенклатура в обеих базах.Заключение: Если вы новичок и базы идентичны — используйте «Выгрузку и загрузку данных XML» с обязательным нажатием кнопки «Определить данные по ссылкам». Если базы разные — используйте Excel. Если же структура справочника сложная (с характеристиками и специфическими реквизитами) — стоит рассмотреть привлечение специалиста по «Конвертации данных», так как исправление ошибок в справочнике на 10-20 тысяч позиций вручную обойдется значительно дороже.