Загрузка своих правил обмена: синхронизация БСП и универсальная обработка

· 9 мин

Содержание

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

Правила — это XML-файл, который делают в конфигурации «Конвертация данных » 2.x. В нём описано, какие объекты выгружать, как сопоставлять их в приёмнике и какие поля во что превращать. Сам файл ничего не делает: его нужно загрузить в механизм, который умеет его читать.

Что подготовить до загрузки правил

Большинство проблем с правилами возникает не при загрузке, а раньше: файл сделан под другую версию конфигурации или база не готова к обмену.

Проверьте, под какие версии сделаны правила

В шапке файла правил записаны имя и версия конфигурации-источника и конфигурации-приёмника. Откройте XML в любом текстовом редакторе и посмотрите первые строки. Если правила сделаны под Бухгалтерию 3.0.150, а у вас 3.0.170, часть объектов может не совпасть: реквизиты переименовали, добавили новые.

📌 Что сверить:

  • 🔹 название конфигурации источника и приёмника;
  • 🔹 версии обеих конфигураций (у вас — в Справка → О программе или через значок меню в заголовке окна);
  • 🔹 формат файла: правила Конвертации данных 2.x — это один XML, а обмен через EnterpriseData (КД 3.x) работает на модулях обмена внутри конфигурации и XML-файлом правил не подключается.

Сделайте резервную копию

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

В клиент-серверном варианте копию делает администратор СУБД средствами сервера или через Конфигуратор → Администрирование → Выгрузить информационную базу. Учтите: выгрузка .dt требует монопольного доступа, пользователей нужно предупредить заранее.

Права пользователя

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

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

Этот путь нужен, когда обмен уже настроен через помощник синхронизации (например, «Бухгалтерия ↔ Управление торговлей» старого формата) и нужно заменить типовые правила своими, доработанными.

Шаг 1. Откройте настройку обмена

  1. Перейдите в Администрирование → Синхронизация данных.
  2. Убедитесь, что флажок «Синхронизация данных» включён.
  3. Откройте Настройки синхронизации данных и двойным щелчком откройте нужную настройку.

Шаг 2. Перейдите к правилам

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

Шаг 3. Загрузите файл

  1. Переключите вариант на использование правил, загруженных из файла.
  2. Нажмите загрузку из файла и укажите XML или ZIP-архив.
  3. Дождитесь сообщения об успешной загрузке. Программа покажет имя конфигурации и версию из шапки правил.

Если правила поставляются архивом, внутри обычно лежат три файла:

ФайлЧто в нём
ExchangeRules.xmlправила конвертации для выгрузки из текущей базы
CorrespondentExchangeRules.xmlправила для обратного направления, которые нужны базе-корреспонденту
RegistrationRules.xmlправила регистрации: какие изменения попадают в обмен

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

Шаг 4. Проверьте результат

Запустите синхронизацию вручную командой «Синхронизировать» и посмотрите, сколько объектов отправлено и получено. Первый обмен после смены правил лучше провести на копии базы-приёмника.

Загрузка правил обмена в обработку «Универсальный обмен данными в формате XML»

Это универсальный способ: работает между любыми базами 8.x и не требует настройки синхронизации. Обработку V8Exchan83.epf распространяют вместе с «Конвертацией данных» 2.x, она же есть в составе обработок с диска ИТС.

Выгрузка из базы-источника

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

Загрузка в базу-приёмник

  1. Откройте ту же обработку в базе-приёмнике.
  2. Переключитесь на вкладку загрузки.
  3. Укажите файл данных, полученный при выгрузке.
  4. Нажмите «Загрузить данные ».

Правила в приёмник загружать не нужно: они записываются внутрь файла данных при выгрузке.

Внешние обработки открываются, только если у пользователя есть право на интерактивное открытие внешних обработок. В Бухгалтерии 3.0 и УТ 11 при открытии появится предупреждение безопасности, его нужно подтвердить.

Параметры конвертации, которые стоит настроить

У обработки много настроек, но на результат влияют несколько. Ниже — те, которые меняют поведение обмена.

ПараметрКогда включатьЧто даёт
Использование транзакцийпри загрузке больших объёмовпри ошибке откатываются изменения порции, а не остаются полузаписанными
Отладочный режимпри написании и проверке правилподробная информация о том, какое правило упало
Файл протокола обменавсегдавсё, что произошло при обмене, пишется в текстовый файл
Дописывать в протоколпри серии обменовистория не затирается при каждом запуске

Параметры, заданные внутри правил

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

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

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

💡 Выход — поиск по ИНН и КПП для контрагентов и по артикулу для номенклатуры. Это меняется в правилах, в «Конвертации данных», а не в обработке.

Регистрация изменений и выгрузка по плану обмена

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

Как работает регистрация

При записи объекта программа проверяет правила регистрации. Если объект им соответствует, он попадает в таблицу изменений плана обмена для конкретного узла. При следующей синхронизации отправляется именно эта таблица, а после подтверждения приёма регистрация снимается.

Отсюда частая ситуация: правила подключили, обмен прошёл, а старые документы не ушли. Они были записаны до подключения, поэтому не зарегистрированы.

Как дорегистрировать данные

  • 🔸 В форме настройки синхронизации есть команда просмотра состава отправляемых данных. Там можно добавить объекты на регистрацию: весь справочник или документы за период.
  • 🔸 Для точечной работы используют обработку «Регистрация изменений для обмена данными» из набора ИТС: она показывает, что зарегистрировано по каждому узлу, и позволяет добавить или снять регистрацию.
  • 🔸 После правки правил регистрации загрузите их заново, как в шаге 3 выше, иначе программа продолжит регистрировать изменения по старым.

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

Ошибки при загрузке правил и как читать протокол обмена

Когда обмен падает, первым делом нужен текст ошибки. Он есть в трёх местах.

  1. Протокол обработки. Текстовый файл, который вы задали в параметрах. Там указаны правило, объект и строка ошибки.
  2. Журнал регистрации. Администрирование → Обслуживание → Журнал регистрации, отбор по событиям обмена данными. Сюда пишет синхронизация БСП.
  3. Предупреждения синхронизации. В форме синхронизации данных появляется ссылка на предупреждения, если при приёме были проблемы с конкретными документами.
Диагностика: выберите симптом

Если документы загрузились, но не провелись

По умолчанию многие правила загружают документы без проведения. Проверьте, есть ли в правилах параметр проведения после загрузки. Если нет — проведите загруженные документы групповой обработкой «Групповое перепроведение документов » за нужный период.

Автоматическая синхронизация по расписанию

Ручной обмен подходит для разового переноса. Для постоянной работы обмен ставят на расписание.

Расписание в синхронизации БСП

  1. Откройте настройку синхронизации.
  2. Включите синхронизацию по расписанию и задайте его: например, каждые 30 минут в рабочие часы или раз в сутки ночью.
  3. Сохраните настройку.

Расписание выполняет регламентное задание. Тут важна разница вариантов работы:

Вариант базыКто запускает задание
Клиент-серверныйкластер серверов 1С, независимо от того, открыты ли сеансы
Файловыйклиентский сеанс, открытый в базе; без открытого сеанса задание не выполнится

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

Обработка из командной строки

Обмен через внешнюю обработку тоже можно автоматизировать. Платформа умеет запускать внешнюю обработку при входе в базу ключом /Execute. Обработку дорабатывают так, чтобы она при открытии брала настройки, выполняла выгрузку и закрывала сеанс.

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" ENTERPRISE /F "D:\Bases\Torg" /N "Обмен" /P "пароль" /Execute "D:\Exchange\AutoExport.epf" /DisableStartupMessages

Строку ставят в планировщик заданий Windows. Номер версии в пути подставьте свой: он совпадает с каталогом установленной платформы.

Пароль в bat-файле хранится открытым текстом. Создайте для обмена отдельного пользователя 1С с минимальными правами и ограничьте доступ к папке со скриптом.

Частые ошибки при подключении правил

  • ❌ Правила загрузили в одну базу, во второй оставили типовые. Двусторонняя синхронизация ломается на первом встречном обмене.
  • ❌ Обновили конфигурацию и забыли про правила. Загруженные из файла правила не обновляются вместе с конфигурацией. После обновления релиза проверьте, подходят ли они.
  • ❌ Первый обмен сразу в рабочую базу. Дубли справочников проще удалить в копии, чем в живой базе с проведёнными документами.
  • ❌ Не задали файл протокола. Ошибка в обработке видна на экране мельком, а без протокола её потом не восстановить.
  • ❌ Перепутали правила 2.x и обмен EnterpriseData. Для обмена через формат правила XML не загружают: там меняют версию формата или пишут расширение.

Частые вопросы о правилах обмена

Можно ли вернуться к типовым правилам после загрузки своих?
Да. В той же форме правил синхронизации переключите вариант обратно на использование правил из конфигурации. Загруженный файл перестанет применяться.
Где взять правила обмена между нетиповыми конфигурациями?
Их разрабатывают в «Конвертации данных» 2.x: загружают туда структуры метаданных обеих баз и описывают соответствия. Готовые правила для доработанных баз не подходят без правки.
Подходят ли правила от 1С 8.2 для базы 8.3?
Сам формат правил одинаков, обработка для 8.3 читает их. Но если конфигурации обновились, структура объектов изменилась, и правила придётся пересобрать.
Почему обмен прошёл без ошибок, а в приёмнике ничего нет?
Чаще всего в обработке не отмечены правила выгрузки или период документов не захватил нужные даты. В синхронизации БСП — объекты не были зарегистрированы к отправке.
Нужен ли монопольный режим для загрузки правил?
Нет. Загрузка правил и обмен выполняются при работающих пользователях. Монопольный доступ нужен для выгрузки базы в .dt перед экспериментом.