Как перенести справочник номенклатуры между базами 1С:УТ 10.3?

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

Перенос данных между идентичными конфигурациями 1С — задача, с которой часто сталкиваются специалисты при объединении баз или выделении филиалов. Рассмотрим по шагам, как правильно выполнить эту операцию для справочника Номенклатура, сохранив структуру папок и исключив ошибки при загрузке.

Использование универсальной обработки Выгрузка и загрузка данных XML

Для переноса данных между базами с идентичной конфигурацией оптимальным инструментом является штатная обработка ВыгрузкаЗагрузкаДанныхXML. Она входит в комплект поставки конфигурации Конвертация данных. Разберем процесс по этапам:

  1. Откройте обработку в базе-источнике.
  2. Перейдите на вкладку выгрузки данных.
  3. Выберите справочник Номенклатура. Чтобы не переносить всю базу, воспользуйтесь механизмом отбора.
  4. Используйте возможность выбора конкретных групп справочника. В интерфейсе обработки можно найти опцию выбора ссылок из списка — выберите нужные папки, и обработка автоматически включит в файл выгрузки все вложенные элементы и подпапки.
  5. Нажмите кнопку выгрузки и сохраните полученный файл в формате XML.

Обратите внимание: обработка переносит объекты вместе с их внутренними GUID (уникальными идентификаторами). Это гарантирует сохранение ссылочной целостности, но требует внимания при работе с кодами в базе-приемнике.

Решение проблемы дублирования кодов и идентификации

Многие пользователи опасаются, что при загрузке возникнет конфликт из-за кодов элементов. Давайте проанализируем, как система обрабатывает эти данные:

В платформе 1С идентификация при обмене через XML происходит по GUID, а не по коду или наименованию. Если объект с таким GUID уже есть в базе-приемнике, он будет обновлен. Если объекта нет, система создаст новый.

Что касается кодов, то если при создании нового объекта код, перенесенный из источника, уже занят, возможны следующие сценарии:

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

Процедура перенумерации: После того как все данные успешно загружены в базу-приемник, вы можете запустить штатную процедуру перенумерации справочников. Это позволит привести коды к последовательному виду, исключая дубликаты и «дыры» в нумерации. Для этого можно воспользоваться Групповой обработкой справочников и документов.

Важные рекомендации при переносе

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

Ссылочная целостность: При выборе папок для выгрузки Выгрузка и загрузка данных XML автоматически отслеживает связи. Однако всегда проверяйте, чтобы переносимые товары не ссылались на отсутствующие в приемнике объекты (например, на отсутствующие единицы измерения или номенклатурные группы). Если связи критичны, выгружайте зависимые справочники совместно.

Режим обмена данными: Если при импорте система блокирует запись объектов из-за конфликта кодов, можно программно временно отключить проверку уникальности. Для этого в модуле загрузки (если вы используете кастомную обработку) или в свойствах объекта перед записью устанавливается:


Объект.ОбменДанными.Загрузка = Истина;
Объект.Записать();

Использование этого метода позволяет загрузить данные «как есть», игнорируя стандартные проверки платформы. После завершения загрузки обязательно проведите аудит данных и, при необходимости, выполните перенумерацию или корректировку дублей с помощью инструментов Поиск и замена дублей.

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

← На главную