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

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

Как сделать обмен данными в 1С:Предприятие

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

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

Главная ошибка новичков — пытаться «просто скопировать документы» вручную или через обработки загрузки табличных данных. Такой подход ломает ссылки, дублирует контрагентов и не гарантирует, что изменения в одной базе попадут в другую. Штатные механизмы синхронизации решают именно эту задачу: они отслеживают изменённые объекты, передают только их и умеют сопоставлять уже существующие записи.

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

Выбор механизма обмена: что подходит под вашу задачу

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

Если одна из конфигураций сильно доработана или самописная, потребуются правила конвертации данных, созданные в конфигурации «Конвертация данных 2.1» или «3.0». Это отдельный инструмент разработчика: в нём описывается, как объект одной конфигурации превращается в объект другой. Трудоёмкость выше, но контроль полный.

Для обмена с внешними системами (сайт, CRM, складское оборудование) чаще используют файловые выгрузки в XML/JSON, веб-сервисы или HTTP-запросы. Это уже задача разработки, а не настройки, и её стоит делегировать программисту, если у вас нет опыта работы с веб-сервисами в 1С.

Сравнение вариантов обмена

Встроенная синхронизация (EnterpriseData)

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

Конвертация данных (свои правила)

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

Веб-сервисы / HTTP / файлы

Для интеграции с не-1С системами. Требует программирования с обеих сторон и продуманной обработки ошибок.

Подготовка баз к обмену

Обмен должен идти между актуальными и согласованными данными. Перед настройкой проверьте три вещи. Во-первых, версии конфигураций: для типовой синхронизации желательно, чтобы обе базы были на поддерживаемых релизах — старые версии могут не знать новые поля формата. Во-вторых, заполненность ключевых справочников: валюты, единицы измерения, ставки НДС должны совпадать, иначе документы не загрузятся или загрузятся с ошибками.

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

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

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

Мастер предложит вариант подключения: прямое подключение к базе через локальную сеть или интернет, обмен через каталог (файлы выгрузки), через FTP или электронную почту. Для баз в одной сети удобнее прямое подключение или общий сетевой каталог. Для удалённых баз без VPN — обмен через каталог с последующей передачей файлов или через веб-сервисы, если они опубликованы.

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

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

Настройка правил и состава передаваемых данных

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

Обратите внимание на режим выгрузки документов: проведёнными или без проведения. Обычно между УТ и БП документы передаются проведёнными, но если в приёмнике документы дорабатываются вручную, имеет смысл передавать их непроведёнными, чтобы бухгалтер сам контролировал проведение.

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

Автоматический обмен по расписанию

После успешной ручной синхронизации настройте автоматический запуск. В настройке синхронизации есть расписание: обмен может выполняться каждые N минут, раз в день в указанное время или по событию (например, при завершении работы пользователя). Для клиент-серверных баз расписание выполняется регламентным заданием на сервере; для файловых — отдельным сеансом 1С, который должен быть запущен.

Практическая рекомендация по частоте: для связки «торговля — бухгалтерия» обычно достаточно обмена 1–4 раза в день. Слишком частый обмен (каждые 5 минут) создаёт лишнюю нагрузку и повышает вероятность коллизий, когда один и тот же документ редактируют в обеих базах одновременно.

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

Контроль ошибок и разбор конфликтов

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

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

Типичные ошибки загрузки: незаполненные обязательные реквизиты в базе-приёмнике, отсутствующие элементы справочников (например, договор контрагента, который не сопоставлен), закрытый период в бухгалтерской базе. Большинство из них лечится ручной корректировкой данных и повторной выгрузкой конкретного объекта через функцию «Зарегистрировать изменения» в плане обмена.

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

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

Журнал результатов синхронизации
Норма

Все пакеты отправлены и приняты, предупреждений нет или они разобраны

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

Есть незагруженные объекты, ошибки проведения, растущее число предупреждений

Контрольные документы
Норма

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

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

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

Справочники
Норма

Количество контрагентов и номенклатуры не растёт скачкообразно после обмена

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

Появились дубли с похожими наименованиями

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

Обмен через планы обмена вручную: когда это нужно

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

Для повторной отправки конкретного документа откройте план обмена (через «Все функции» → «Планы обмена»), выберите узел и используйте команду регистрации изменений: добавьте объект в состав изменений узла. При следующем сеансе обмена он будет выгружен повторно, даже если не редактировался. Это стандартный способ «дотолкнуть» потерявшийся документ.

Программный обмен строится на тех же примитивах: ПланыОбмена.ВыбратьИзменения() для чтения зарегистрированных изменений, запись сообщения через ЗаписьXML, чтение — через ЧтениеXML с проверкой номеров принятых и отправленных сообщений. Если вы не уверены в этих механизмах, не модифицируйте типовые процедуры обмена — лучше оформите свою логику отдельными процедурами.

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

Частые вопросы

Можно ли настроить обмен между базами с разными конфигурациями, например самописной и БП 3.0?

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

Что делать, если после обмена появились дубли контрагентов?

Сначала остановите автоматический обмен, чтобы дубли не размножались. Затем используйте типовую обработку «Поиск и удаление дублей» (раздел «Администрирование» → «Обслуживание»): она заменит ссылки на дубли ссылками на основной элемент. После чистки выполните сопоставление в настройке синхронизации заново.

Почему документ выгрузился, но не загрузился во вторую базу?

Частые причины: незаполнен обязательный реквизит в приёмнике, не сопоставлен элемент справочника, на который ссылается документ, или период закрыт для изменений. Точную причину показывает протокол в «Результатах синхронизации» — там указан объект и текст ошибки.

Как перенести в другую базу только один документ, а не всё подряд?

Откройте план обмена через «Все функции», выберите нужный узел и зарегистрируйте в нём только этот документ через функцию регистрации изменений. При следующем сеансе обмена уйдёт именно он, если состав правил разрешает его передачу.

Работает ли обмен, если базы находятся в разных городах и нет общей сети?

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

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

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

Итог

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

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