К статье
Практический материал

Администрирование · 11 мин

Как сделать план обмена в 1С: подробное руководство

Как создать и настроить план обмена в 1С: типовые и собственные планы, регистрация изменений, узлы, настройка синхронизации и типичные ошибки.

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

В типовых конфигурациях (УТ, ERP, БП, ЗУП) планы обмена уже созданы разработчиками: «Полный», «По организации», «Синхронизация данных через универсальный формат» и другие. Задача администратора — выбрать подходящий план, создать узлы и настроить правила. Если типовые механизмы не закрывают задачу, план обмена создаётся в конфигураторе вручную.

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

Когда нужен план обмена и какой вариант выбрать

План обмена применяется в трёх типовых ситуациях. Первая — распределённая информационная база (РИБ): центральный узел и периферийные базы для филиалов или удалённых точек с нестабильной связью. Вторая — синхронизация между разными конфигурациями, например выгрузка документов из УТ в БП. Третья — интеграция с внешними системами: сайтами, CRM, мобильными клиентами.

Выбор между типовым и собственным планом зависит от задачи. Если нужно синхронизировать типовые конфигурации в стандартном составе — используйте готовый план обмена «Синхронизация данных через универсальный формат» (EnterpriseData) или специализированные пары вроде «УТ — БП». Если требуется нестандартный состав данных, фильтрация по условиям или обмен с самописной конфигурацией — создавайте собственный план в конфигураторе.

Сравнение подходов

Типовой план обмена

Подходит для стандартной синхронизации типовых конфигураций. Настраивается без программирования, но состав данных фиксирован правилами поставщика.

Собственный план + правила КД

Гибкая настройка состава и конвертации через «Конвертацию данных». Требует навыков разработки и тестирования правил.

РИБ (распределённая база)

Для идентичных баз-филиалов с передачей всех данных и изменений конфигурации. Не подходит для обмена между разными конфигурациями.

Настройка типового плана обмена в режиме «Предприятие»

В типовых конфигурациях настройка начинается с включения функциональности. Откройте раздел «Администрирование» → «Синхронизация данных» (в некоторых конфигурациях — «НСИ и администрирование») и установите флаг «Синхронизация данных». После этого станет доступен список настроек синхронизации.

Нажмите «Настроить синхронизацию данных» и выберите нужный план обмена из списка — например, «Бухгалтерия предприятия» для обмена с БП. Мастер настройки предложит указать способ подключения: прямое подключение к базе через сеть, обмен через каталог, FTP или веб-сервис. Для первой настройки надёжнее всего обмен через файловый каталог — его проще диагностировать.

Далее задайте префикс узла (уникальный код базы, например «УТ» и «БП»), дату начала выгрузки и при необходимости отборы: по организациям, складам, подразделениям. Завершите работу мастера — система создаст узел обмена и сформирует начальный образ данных для второй базы.

Порядок настройки типового обмена
  1. 1
    Включите «Синхронизацию данных» в настройках администрирования
  2. 2
    Создайте настройку синхронизации и выберите план обмена
  3. 3
    Укажите способ транспорта: каталог, FTP, прямое подключение
  4. 4
    Задайте префиксы узлов и дату начала выгрузки
  5. 5
    Настройте отборы по организациям и другим разрезам
  6. 6
    Выгрузите начальный образ и загрузите его во вторую базу
  7. 7
    Выполните тестовый обмен и проверьте сопоставление объектов

Создание собственного плана обмена в конфигураторе

Если типовых средств недостаточно, план обмена создаётся как объект метаданных. Откройте конфигуратор, в дереве конфигурации найдите ветку «Общие» → «Планы обмена» и добавьте новый объект. Задайте имя, например «ОбменССайтом», и синоним для отображения пользователям.

Ключевой шаг — определение состава плана обмена. На закладке «Основные» (кнопка «Состав») отметьте объекты метаданных, которые будут участвовать в обмене: справочники «Номенклатура», «Контрагенты», документы «Реализация товаров и услуг» и так далее. Для каждого объекта выберите режим авторегистрации: «Разрешить» — платформа сама будет фиксировать изменения, или «Запретить» — если регистрацию будете выполнять программно.

Для распределённой базы дополнительно установите свойство «Распределённая информационная база». Для обычного обмена между разными конфигурациями этот флаг не нужен — вместо него используются правила конвертации.

Создание узлов и регистрация изменений

После создания плана обмена в конфигураторе нужно создать узлы — конкретные базы-участники обмена. В режиме «Предприятие» откройте список плана обмена и добавьте элементы: узел «Эта база» (предопределённый) и узлы корреспондентов. Каждому узлу присвойте уникальный код — именно по коду платформа определяет, какие сообщения кому адресованы.

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

bsl
Узел = ПланыОбмена.ОбменССайтом.НайтиПоКоду("WWW");
ПланыОбмена.ЗарегистрироватьИзменения(Узел, НоменклатураСсылка);
ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения();
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьФайл("C:\Exchange\out.xml");
ЗаписьСообщения.НачатьЗапись(ЗаписьXML, Узел);
ПланыОбмена.ЗаписатьИзменения(ЗаписьСообщения, 1000);
ЗаписьСообщения.ЗакончитьЗапись();
ЗаписьXML.Закрыть();

Для массовой первоначальной регистрации всех данных удобно использовать типовую обработку «Регистрация изменений для обмена данными» — она доступна в составе подсистемы обмена БСП и позволяет зарегистрировать объекты по отбору без написания кода.

Настройка правил конвертации для разных конфигураций

Когда обмен идёт между различными конфигурациями (или структуры объектов отличаются), одного плана обмена недостаточно — нужны правила конвертации данных. Они описывают, как объект источника преобразуется в объект приёмника: соответствие реквизитов, алгоритмы поиска, обработчики событий.

Правила разрабатываются в конфигурации «Конвертация данных» (редакция 2 или 3 в зависимости от формата обмена). Для универсального формата EnterpriseData правила обычно уже встроены в типовые конфигурации, и доработка выполняется через внешние правила, подключаемые в настройке синхронизации. Для собственного плана обмена правила загружаются файлом формата XML.

Практическая рекомендация: начинайте с минимального состава — один справочник и один документ. Добейтесь корректной выгрузки и загрузки, сопоставления объектов без дублей, а затем расширяйте правила. Отладка большого комплекта правил с нуля занимает в разы больше времени.

Проверка результата и типичные ошибки

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

Контрольные точки

Как проверить результат

Очередь регистрации изменений
Норма

После выгрузки изменения сняты с регистрации

Тревожный признак

Изменения копятся — узел не получает подтверждение или выгрузка падает

Сопоставление объектов
Норма

Контрагенты и номенклатура связаны по ГУИД или ключам поиска

Тревожный признак

В приёмнике появляются дубли элементов

Журнал регистрации
Норма

События обмена без ошибок

Тревожный признак

Ошибки записи, коллизии, отказ по правам

Типичные ошибки
01
Одинаковые коды узлов в разных базах — сообщения обмена перепутываются, данные теряются
02
Выгрузка без начального сопоставления — в приёмнике возникают дубли справочников
03
Отсутствие префиксов узлов — нумерация документов конфликтует при двустороннем обмене
04
Изменение состава плана обмена в рабочей РИБ без пересоздания узлов — рассинхронизация конфигураций
05
Игнорирование коллизий — изменения из периферийной базы молча отклоняются

Ограничения и меры предосторожности

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

Учитывайте ограничения платформы: план обмена не переносит данные, не входящие в его состав; при РИБ изменения конфигурации распространяются только от главного узла к периферийным; объём сообщения обмена ограничен производительностью — при больших базах настраивайте порционную выгрузку и расписание в нерабочие часы.

Итог

Что важно запомнить

Для стандартных задач используйте типовые планы обмена и мастер настройки синхронизации. Собственный план создаётся в конфигураторе: состав объектов, узлы с уникальными кодами, регистрация изменений. Обязательно тестируйте обмен на копиях и контролируйте сопоставление объектов, чтобы избежать дублей.

Часто задаваемые вопросы

Чем план обмена отличается от правил обмена?

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

Можно ли изменить состав типового плана обмена?

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

Почему изменения не уходят в другую базу?

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

Как избежать дублей справочников при первом обмене?

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

Что такое коллизии в РИБ и как их разрешать?

Коллизия возникает, когда один и тот же объект изменён в главном и периферийном узле до обмена. По умолчанию приоритет у главного узла — изменения из периферийного отклоняются. Коллизии видны в журнале регистрации, и спорные объекты нужно проверять и корректировать вручную.

Нужен ли план обмена для выгрузки на сайт?

Для обмена с сайтом по стандарту CommerceML типовые конфигурации используют собственный механизм обмена с сайтом, который внутри построен на плане обмена «Обмен с сайтом». Отдельный план создавать не нужно — достаточно настроить узел обмена с сайтом в разделе интеграции.