Как правильно интегрировать справочники между 1С:ERP и 1С:Документооборот?

Программист 1С v8.3 (Управляемые формы) 1С:Документооборот IT и автоматизация бизнеса
← На главную

При настройке взаимодействия между 1С:ERP и 1С:Документооборот часто возникает путаница между понятиями «бесшовная интеграция» и «синхронизация данных». Разберем подробно, как работают эти механизмы и как добиться автоматического сопоставления справочников.

Разграничение механизмов: бесшовная интеграция против синхронизации

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

Для автоматического наполнения справочников данными (например, передача статей ДДС или контрагентов из 1С:ERP в 1С:Документооборот) необходимо настраивать полноценный обмен данными. Это может быть реализовано через планы обмена, правила КД 3.0 или EnterpriseData.

Принципы сопоставления объектов

Чтобы система понимала, что объект в 1С:ERP и объект в 1С:Документообороте — это одна и та же сущность, используются следующие критерии поиска:

  1. Уникальный идентификатор (GUID): Это самый надежный способ. Если связь между объектами уже установлена и записана в регистр соответствия, система всегда будет находить именно её.
  2. Ключевые реквизиты: Для контрагентов это классическая связка ИНН + КПП. Для пользователей это может быть Логин или ИНН (если он заполнен).
  3. Наименование: Самый ненадежный способ. Различия в регистрах, наличие буквы «ё», пробелы или сокращения могут привести к созданию дублей.

Программная настройка связи объектов через расширение

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

Разберем пример программного вызова процесса создания связи:


&После("ОбработкаПроведения")
Процедура Р1_ОбработкаПроведения(Отказ, РежимПроведения)
    
    // Получаем правила для конкретного объекта
    Правила = ИнтеграцияС1СДокументооборотВызовСервера.ПодходящиеПравила(ЭтотОбъект.Ссылка);
    
    // Вызываем создание или связку объекта
    Р1_ИнтеграцияС1СДокументооборотСервер.Р1_НачатьСозданиеСвязанногоОбъектаДО(ЭтотОбъект.Ссылка, Правила);
    
КонецПроцедуры

В данном примере мы используем методы ИнтеграцияС1СДокументооборотВызовСервера, которые позволяют системе «увидеть» объект и зафиксировать его связь. Это позволяет избежать ручной привязки объектов пользователями в интерфейсе.

Рекомендации по реализации стратегии мастер-данных

Чтобы избежать хаоса в нормативно-справочной информации, придерживайтесь стратегии использования 1С:ERP как базы-источника:

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

← На главную