Администрирование · 12 мин
Как в 1С настроить обмен данными между базами
Как настроить обмен данными в 1С: планы обмена, универсальный формат, синхронизация между базами, типовые правила, устранение ошибок и проверка результата.
Обмен данными в 1С — это передача документов, справочников и других объектов между информационными базами: например, между «Управлением торговлей» и «Бухгалтерией», между центральной базой и филиалами, между 1С и сайтом. В типовых конфигурациях механизм уже встроен, и в большинстве случаев настройка сводится к созданию плана обмена и указанию правил синхронизации, без программирования.
Основа обмена — план обмена. Это объект конфигурации, который определяет, какие данные участвуют в синхронизации и как базы идентифицируют друг друга. Каждая база, участвующая в обмене, называется узлом плана обмена. При обмене 1С фиксирует изменения объектов (механизм регистрации изменений) и передаёт только их, а не всю базу целиком.
Перед настройкой важно определить сценарий: односторонняя выгрузка (например, из учётной системы в отчётную), двусторонняя синхронизация (обе базы равноправны) или распределённая база с центральным узлом и периферийными. От этого зависит выбор плана обмена и порядок действий.
Какие способы обмена данными существуют в 1С
В экосистеме 1С применяется несколько подходов к обмену, и выбор зависит от задачи. Самый распространённый — синхронизация через универсальный формат EnterpriseData, который поддерживают современные типовые конфигурации (Бухгалтерия, Управление торговлей, ERP, ЗУП). Данные передаются в виде XML-файлов через каталог, FTP, электронную почту или прямое подключение к базе.
Второй вариант — планы обмена с правилами конвертации, созданными в конфигурации «Конвертация данных». Этот способ нужен, когда обмениваются разные или доработанные конфигурации и типовые правила не подходят. Третий вариант — распределённая информационная база (РИБ), где периферийные узлы являются точными копиями центрального по структуре и обмениваются сообщениями обновления.
Для интеграции с внешними системами (сайтами, CRM, складскими программами) используются веб-сервисы, HTTP-сервисы, формат CommerceML для обмена с интернет-магазинами или прямая разработка на встроенном языке. Это уже требует участия разработчика.
Сравнение способов обмена
Подходит для типовых конфигураций без доработок; настраивается пользователем, но не работает с нестандартными объектами
Гибкий обмен между любыми конфигурациями, включая доработанные; требует навыков работы с «Конвертацией данных»
Для филиалов с идентичной конфигурацией; строгая иерархия, конфигурации узлов должны совпадать
Для обмена с внешними системами в реальном времени; нужна разработка и публикация базы на веб-сервере
Подготовка к настройке обмена
До создания настройки синхронизации выполните три обязательных действия. Во-первых, сделайте резервные копии обеих баз — обмен меняет данные в обеих системах, и откатить последствия ошибочной синхронизации без копии будет сложно. Во-вторых, проверьте, что версии конфигураций поддерживают выбранный формат обмена: для универсального формата обе конфигурации должны быть на поддерживаемых релизах. В-третьих, приведите в порядок справочники: дубли контрагентов, номенклатуры и организаций создадут проблемы на этапе сопоставления.
Определите, какая база будет источником начальной выгрузки. Обычно это база с наиболее полными и достоверными данными. Также решите, какие объекты должны участвовать в обмене: все документы или только определённые виды, с какой даты выгружать данные, нужны ли отборы по организациям.
Настройка синхронизации данных между типовыми конфигурациями
Рассмотрим типовой сценарий: обмен между «Управлением торговлей» и «Бухгалтерией предприятия». В обеих базах перейдите в раздел администрирования и включите функциональную опцию «Синхронизация данных» (в разных конфигурациях путь отличается: «Администрирование — Синхронизация данных» или «НСИ и администрирование — Настройка синхронизации данных»). Укажите префикс информационной базы — короткий код, который будет добавляться к номерам документов, чтобы различать их происхождение.
После включения опции появится ссылка «Синхронизация данных» со списком настроек. Создайте новую настройку, выберите конфигурацию-корреспондента из списка и укажите способ подключения: через каталог обмена (файл выгружается в папку), прямое подключение к базе через COM или веб-сервис, FTP, электронную почту. Для обмена между базами в одной сети удобнее всего общий сетевой каталог.
- 1Включите опцию «Синхронизация данных» в обеих базах и задайте разные префиксы узлов
- 2Создайте настройку синхронизации в базе-источнике, выберите конфигурацию-корреспондента и способ транспорта
- 3Выполните начальную выгрузку данных в файл и загрузите его в базу-корреспондент
- 4Выполните сопоставление объектов: программа покажет несопоставленные элементы справочников
- 5Подтвердите сопоставление, выполните первую синхронизацию и проверьте перенос тестового документа
- 6Настройте расписание автоматической синхронизации через регламентное задание или сценарий обмена
Начальная выгрузка — ключевой этап. Программа формирует файл с данными базы-источника, который нужно загрузить в базу-корреспондент через ту же настройку синхронизации. После загрузки запускается автоматическое сопоставление: программа ищет соответствия по внутренним идентификаторам, наименованиям, ИНН, кодам. Все объекты, которые не удалось сопоставить автоматически, попадают в список для ручной обработки.
На этапе сопоставления не торопитесь нажимать «Далее». Проверьте, сколько объектов осталось несопоставленными, и обработайте их вручную: либо укажите соответствие существующему элементу, либо разрешите создать новый. Если проигнорировать этот шаг, в базе появятся дубли контрагентов и номенклатуры, которые потом придётся вычищать.
Настройка распределённой информационной базы (РИБ)
РИБ применяется, когда нужны удалённые узлы с полной копией конфигурации: филиалы, магазины, склады без постоянной связи с центром. Все узлы РИБ должны иметь одинаковую конфигурацию — это жёсткое ограничение. Обновление конфигурации выполняется через центральный узел и распространяется на периферийные вместе с сообщениями обмена.
Для создания РИБ в центральной базе включите нужный план обмена (например, «Полный» или «По организации»), создайте периферийный узел и выполните команду создания начального образа. Полученный файл разворачивается на удалённом компьютере как новая база. Дальнейший обмен идёт через файлы сообщений в каталоге, по FTP или через почту: каждая база выгружает изменения и загружает чужие.
Обмен через правила конвертации данных
Когда типовые правила не подходят — конфигурации доработаны, добавлены свои документы или обмен идёт с нестандартной структурой — используются правила, созданные в конфигурации «Конвертация данных». Типовые правила можно выгрузить из настройки синхронизации, доработать и загрузить обратно как пользовательские.
В правилах задаётся соответствие объектов источника и приёмника: какие реквизиты куда переносятся, как преобразуются значения, какие объекты пропускаются. Для нестандартных реквизитов пишутся обработчики на встроенном языке. Работа с конвертацией требует понимания структуры обеих конфигураций, поэтому сложные правила обычно поручают разработчику.
После загрузки пользовательских правил обязательно протестируйте обмен на копиях: выгрузите тестовый пакет документов, проверьте заполнение реквизитов, движения по регистрам и работу обмена в обе стороны. Особое внимание уделите помеченным на удаление объектам и отменённым документам — они часто обрабатываются правилами некорректно.
Автоматизация обмена и расписание
Ручной запуск синхронизации подходит только для редких обменов. Для регулярной работы настройте автоматическое выполнение: в настройке синхронизации укажите сценарий с расписанием — например, каждые 15 минут или ежедневно в нерабочее время. В файловом режиме работы расписание выполняется через запуск отдельного сеанса 1С с параметрами или через планировщик заданий Windows.
В клиент-серверном режиме используются регламентные задания, которые выполняются на сервере без участия пользователя. Проверьте, что фоновые задания не заблокированы, а у пользователя, от имени которого работает задание, есть права на все объекты обмена и доступ к каталогу обмена.
Ставьте интервал автоматической синхронизации не чаще, чем реально нужно бизнесу. Частый обмен больших объёмов увеличивает нагрузку на базу и размер файлов сообщений, а пользы при этом не даёт. Для большинства учётных сценариев достаточно обмена раз в 15–60 минут или по расписанию в конце дня.
Контроль ошибок и типичные проблемы обмена
Все события обмена фиксируются в журнале регистрации, а в списке настроек синхронизации виден статус последнего сеанса. При ошибках сначала откройте протокол обмена — в нём указано, на каком объекте произошёл сбой и по какой причине. Типичные причины: нет доступа к каталогу обмена, объект заблокирован пользователем, нарушены правила проверки заполнения, разошлись версии конфигураций.
Отдельная проблема — коллизии, когда один и тот же объект изменён в обеих базах между сеансами обмена. По умолчанию приоритет имеет данные главного узла или базы, настроенной как приоритетная. Проверяйте предупреждения о коллизиях в протоколе: молчаливое перезаписывание документа может привести к потере введённых данных.
Как проверить результат
«Успешно», без предупреждений в протоколе
Ошибки загрузки или выгрузки, неотправленные данные
Создан в одной базе и появился в другой с корректными реквизитами
Документ не перенёсся или реквизиты заполнены неверно
Количество элементов совпадает, дублей нет
Появились задвоённые контрагенты или номенклатура
Номера содержат префикс базы-источника
Конфликты номерации, одинаковые номера из разных баз
Часто задаваемые вопросы
Можно ли настроить обмен между базами с разными версиями конфигурации?
Для универсального формата EnterpriseData версии могут отличаться в пределах совместимости формата — обычно обмен работает, если обе конфигурации поддерживают общий формат. Для РИБ версии должны совпадать строго. Если обмен перестал работать после обновления одной из баз, обновите вторую до совместимого релиза.
Что делать, если в обмене появились дубли контрагентов?
Остановите синхронизацию, найдите дубли через поиск по ИНН или наименованию и пометьте лишние элементы на удаление с заменой ссылок (стандартная обработка «Поиск и удаление дублей»). Затем в настройке сопоставления вручную укажите правильные соответствия, чтобы ситуация не повторилась.
Почему документы выгружаются, но не загружаются в базу-приёмник?
Чаще всего причина в ошибках проверки заполнения: в приёмнике документ не проходит контроль обязательных реквизитов или даты запрета изменения данных. Откройте протокол обмена, найдите конкретный документ и текст ошибки, затем устраните причину — заполните недостающие данные или скорректируйте дату запрета.
Как ограничить обмен только определёнными организациями или документами?
В настройке синхронизации задайте отборы: по организациям, дате начала выгрузки, видам документов. Для нестандартных ограничений используются пользовательские правила конвертации, где фильтрация задаётся в обработчиках.
Нужен ли программист для настройки обмена?
Для обмена между типовыми недоработанными конфигурациями — нет, достаточно встроенного мастера настройки. Программист понадобится, если конфигурации доработаны, нужен обмен с внешними системами через API или требуются нестандартные правила конвертации.
Как перенести настройку синхронизации в другую пару баз?
Настройку можно сохранить в файл из формы настройки синхронизации и загрузить в новой базе. Однако сопоставление объектов и регистрация изменений привязаны к конкретным базам, поэтому для новой пары начальную выгрузку и сопоставление придётся выполнить заново.
Что важно запомнить
Обмен в 1С строится на планах обмена: включите синхронизацию, задайте префиксы, выполните начальную выгрузку и тщательно сопоставьте объекты. Делайте резервные копии, тестируйте настройку на копиях баз и контролируйте протоколы обмена — это защитит данные от дублей и потерь.