Как перенести часть номенклатуры из 1С:Бухгалтерии 3.0 в другую базу БП 3.0 и УТ 11?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия IT и автоматизация бизнеса
← На главную

Перенос справочной информации между уже работающими информационными базами — частая задача при реорганизации учета, выделении направлений или объединении данных. Особую сложность представляет выборочный перенос (например, конкретной группы с подпапками) из «1С:Бухгалтерии предприятия 3.0» в другую базу БП 3.0 и в «1С:Управление торговлей 11», когда базы принадлежат разным организациям и в них уже ведется активный учет.

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

Особенности и риски выборочного переноса между БП 3.0 и УТ 11

При переносе данных между разнородными конфигурациями необходимо учитывать различия в архитектуре метаданных:

  1. Разница в структуре справочников: в УТ 11 для каждого элемента номенклатуры обязателен реквизит ВидНоменклатуры, определяющий тип номенклатуры (товар, услуга, тара, работа), использование серий, характеристик и шаблонов ценников. В БП 3.0 тип задается перечислением ТипНоменклатуры. Прямая загрузка без сопоставления приведет к ошибкам записи объектов в УТ 11.
  2. Единицы измерения: в УТ 11 используется разделение на базовые единицы и индивидуальные упаковки, в то время как в БП 3.0 структура классификатора более простая.
  3. Конфликты идентификаторов (GUID): при прямой выгрузке объектов с сохранением внутренних идентификаторов в работающую базу существует риск создания скрытых дублей или перезаписи существующих позиций, если GUID случайно совпадет со сторонним объектом базы-приемника.

Способ 1. Универсальный обмен через формат EnterpriseData

Наиболее надежным и архитектурно правильным решением является использование штатного механизма обмена в формате EnterpriseData, встроенного в типовые конфигурации БСП.

Разберем по шагам порядок действий:

  1. В исходной базе БП 3.0 перейдем в меню Администрирование → Синхронизация данных (или откроем встроенную обработку Выгрузка и загрузка данных EnterpriseData).
  2. Выберем вариант выгрузки в файл, укажем формат EnterpriseData.
  3. В составе выгружаемых данных оставим только справочник Номенклатура.
  4. Настроим отбор по нужному условию: установим поле Ссылка с видом сравнения В группе и выберем необходимую родительскую папку номенклатуры.
  5. Выгрузим сформированный XML-файл на локальный диск.
  6. В базе-приемнике (другая БП 3.0 или УТ 11) откроем аналогичную обработку загрузки данных EnterpriseData и выполним чтение файла.

Формат EnterpriseData автоматически преобразует поля в соответствии со структурой конфигурации-приемника, создаст или подберет корректный вид номенклатуры в УТ 11 и заполнит базовые единицы измерения.

Способ 2. Выгрузка и загрузка данных XML (для одинаковых конфигураций БП → БП)

Если требуется перенести номенклатуру между двумя базами БП 3.0 одинакового релиза, можно воспользоваться универсальной обработкой ВыгрузкаЗагрузкаДанныхXML.epf.

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

  1. Откроем обработку в исходной базе БП 3.0.
  2. В дереве метаданных найдем справочник Номенклатура, установим на него флаг.
  3. В окне настройки отборов справочника добавим условие: Родитель В группе [ИмяГруппы].
  4. Если необходимо перенести связанные данные, отметим также справочники ЕдиницыИзмерения, КлассификаторЕдиницИзмерения, ШтрихкодыНоменклатуры.
  5. Выполним выгрузку в XML-файл.
  6. В целевой базе БП 3.0 откроем ту же обработку на вкладке Загрузка и прочитаем сформированный файл.

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

Способ 3. Перенос через табличный документ («Загрузка данных из файла»)

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

Проанализируем шаги реализации:

  1. В исходной БП 3.0 откроем справочник Номенклатура, зайдем в нужную группу.
  2. Через меню Еще → Вывести список сформируем таблицу с колонками: Наименование, Артикул, Единица, Ставка НДС, Штрихкод.
  3. Скопируем полученные данные в буфер обмена или сохраним в табличный документ.
  4. В базе УТ 11 перейдем в меню НСИ и администрирование → Загрузка данных из файла (либо НСИ → Номенклатура → Загрузить из файла).
  5. Вставим скопированные строки, сопоставим колонки таблицы с реквизитами справочника в УТ 11.
  6. Укажем значение по умолчанию для поля Вид номенклатуры и выполним загрузку.

Способ 4. Использование правил конвертации данных (КД 2.0)

Если перенос необходимо выполнять регулярно с особыми правилами сопоставления (например, привязка определенного вида номенклатуры в зависимости от вхождения в группу БП), создадим правила в конфигурации «Конвертация данных 2.0».

В правиле конвертации объекта (ПКО) для справочника Номенклатура настроим поиск по полям Артикул и Наименование (отключив поиск по внутреннему идентификатору), а в обработчике ПриЗагрузке для УТ 11 пропишем логику заполнения вида номенклатуры:


Если Не ЗначениеЗаполнено(Объект.ВидНоменклатуры) Тогда
    Объект.ВидНоменклатуры = Справочники.ВидыНоменклатуры.НайтиПоНаименованию("Товар");
КонецЕсли;

Действия после завершения переноса

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

  1. Проверим корректность заполнения иерархии (родительских папок) и ставок НДС.
  2. Для поиска и устранения возможных дублей запустим обработку Поиск и удаление дублей (меню Администрирование → Обслуживание → Корректировка данных). Настроим поиск по совпадению полей Наименование и Артикул, объединим дублирующиеся элементы и перенаправим ссылки в существующих документах на актуальные позиции.
← На главную