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