Как выгрузить данные из УТ 11 в БП 3.0 с произвольным отбором в XML-файл?

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

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

Метод 1: Использование штатных планов обмена и регистрации изменений

Этот способ является наиболее корректным для типовых конфигураций. Вместо поиска внешних обработок, мы воспользуемся механизмом, который уже заложен в логику обмена между УТ и БП. Проанализируем, как работает регистрация объектов.

Для того чтобы выгрузить конкретные данные, нам нужно «объяснить» программе, что именно эти объекты изменены и готовы к отправке. Рассмотрим пошагово, как это сделать:

  1. Откроем обработку «Регистрация изменений для обмена данными». В современных интерфейсах на управляемых формах ее можно найти через меню «Функции для технического специалиста» (ранее «Все функции») или в разделе «Администрирование — Синхронизация данных — Настройки синхронизации — Состав отправляемых данных».
  2. Выберем нужный узел информационной базы (настройку обмена с вашей Бухгалтерией).
  3. В открывшемся окне мы увидим дерево объектов, которые участвуют в обмене. Чтобы добавить конкретные документы, нажмем кнопку «Зарегистрировать».
  4. Программа предложит варианты: зарегистрировать все объекты выбранного типа или «Объекты с отбором». Выбираем второй вариант.
  5. В появившемся конструкторе настроим фильтр. Например, укажем Организация Равно "Торговый дом" и Дата Больше или равно 01.01.2023.

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

Метод 2: Работа через «Универсальный обмен данными в формате XML»

Если нам нужно использовать внешнюю обработку УниверсальныйОбменДаннымиXML, главная сложность заключается в поиске правил обмена (файла .xml). Выясним, где они «прячутся» в современных конфигурациях.

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

  1. Зайдем в Конфигуратор УТ 11.
  2. Перейдем в ветку «Общие — Общие макеты».
  3. Поищем макеты с префиксом ПравилаОбмена_. Обычно они называются ПравилаОбмена_УТ_БП или ПравилаОбмена_УТ_БП_ED.
  4. Нажмем правой кнопкой мыши на макет и выберем «Сохранить как...», указав расширение .xml.

Теперь, имея файл правил, мы можем открыть обработку УниверсальныйОбменДаннымиXML на вкладке «Выгрузка», загрузить эти правила и на вкладке «Построение отбора» задать любые произвольные условия для выгружаемых метаданных. Важный нюанс: при таком способе обязательно следите за флагом «Выгружать объекты по ссылкам». Если его не установить, выгруженный документ реализации может прийти в Бухгалтерию без номенклатуры или контрагента, если их еще нет в базе-приемнике.

Метод 3: Современный инструмент — «Выгрузка загрузка данных Enterprise Data»

Поскольку современные конфигурации перешли на формат Enterprise Data, использование старых правил XML (Конвертация данных 2.0) становится менее актуальным. Рассмотрим более современный аналог — обработку «Выгрузка и загрузка данных Enterprise Data». Она входит в состав Библиотеки стандартных подсистем (БСП) и часто доступна в самой базе.

Разберем преимущества этого метода:

Чтобы воспользоваться этим методом, запустим обработку (ее можно найти на диске ИТС или в составе дистрибутива БСП), выберем направление выгрузки и установим фильтры в табличной части на нужные документы.

Решение проблемы «битых ссылок» (Объект не найден)

Проанализируем ситуацию, когда после загрузки в БП 3.0 мы видим пустые поля или надписи «Объект не найден». Это происходит из-за частичной выгрузки. Посмотрим, как этого избежать.

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


- Выгружать объекты по ссылкам: Истина
- Использовать оптимизированную выгрузку: Истина

Если вы регистрируете объекты вручную через план обмена (Метод 1), система 1С автоматически анализирует связанные данные. Например, при регистрации документа РеализацияТоваровУслуг, программа сама «подцепит» соответствующие элементы справочников Номенклатура, Контрагенты и ДоговорыКонтрагентов, чтобы обеспечить целостность данных в принимающей стороне.

Использование «Консоли регистрации объектов» для сложных условий

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

Она позволяет выполнить произвольный запрос к базе данных. Рассмотрим примерный алгоритм действий:

  1. Пишем запрос на языке 1С, который выбирает нужные ссылки.
  2. Нажимаем кнопку «Зарегистрировать выбранные объекты» на узле обмена.
  3. Выполняем стандартную синхронизацию.

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


ПланОбменаСсылка = ПланыОбмена.СинхронизацияДанныхЧерезУниверсальныйФормат.НайтиПоНаименованию("Обмен с БП 3.0");
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Ссылка ИЗ Документ.РеализацияТоваровУслуг ГДЕ СуммаДокумента > 100000";
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
    ПланыОбмена.ЗарегистрироватьИзменения(ПланОбменаСсылка, Выборка.Ссылка);
КонецЦикла;

Резюмируем: для разовой выгрузки с простым отбором лучше всего подходит Метод 1 (через штатный состав отправляемых данных). Для сложных миграций данных между неидентичными базами используйте Метод 3 (Enterprise Data), так как он учитывает все особенности современных конфигураций и не требует ручного редактирования правил обмена.

← На главную