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