Почему изменения из 1С:ERP не синхронизируются с 1С:Документооборот 2.1 при бесшовной интеграции?

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

При настройке бесшовной интеграции между 1С:ERP Управление предприятием и 1С:Документооборот 2.1 мы часто сталкиваемся с ситуацией, когда данные обновляются только в одном направлении. В частности, рассмотрим проблему, когда изменения, внесенные в реквизит "Комментарий" в 1С:ERP, не передаются в 1С:Документооборот, хотя обратный процесс (из ДО в ERP) работает корректно. Эта проблема указывает на особенности настройки обмена и работы внутренних механизмов синхронизации. Давайте вместе разберемся в причинах и предложим комплексные шаги для диагностики и устранения этой неполадки.

1. Детальная проверка правил интеграции и обмена

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

  1. Направление обмена (синхронизации). Мы должны убедиться, что правило настроено на двусторонний обмен данными, а не на одностороннюю передачу. Иногда интеграция может быть изначально сконфигурирована таким образом, что из ERP данные только создаются в ДО, а все последующие изменения инициируются исключительно со стороны ДО. Для реквизита "Комментарий" нам требуется явно указать возможность обновления из ERP.

  2. Приоритет базы данных. При настройке обмена данными может быть установлен приоритет одной из баз для определенных реквизитов. Если для реквизита "Комментарий" у базы 1С:Документооборот установлен более высокий приоритет, то изменения, поступающие из ERP, могут просто игнорироваться, так как система ДО будет считать свои данные более актуальными или приоритетными. Нам следует проверить настройки приоритетов обмена для данного реквизита.

  3. Условия и выражения в правилах. В правилах интеграции мы можем задавать сложные условия и выражения для заполнения и обновления реквизитов. Важно проверить, нет ли в правиле для "Комментария" каких-либо условий, которые могут запрещать его обновление при определенных статусах документа, значениях других полей в ERP или при определенных событиях. Например, условие может разрешать изменение только при создании документа, но запрещать при его последующем изменении. Мы должны внимательно изучить формулу или алгоритм заполнения реквизита.

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

2. Проблемы на стороне веб-сервиса 1С:Документооборот

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

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

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

  3. Отладка веб-сервиса. Это один из наиболее эффективных способов выявить проблему. Мы можем установить отладчик на веб-сервис в базе 1С:Документооборот. Как предложено в сообщении 5, нам следует поместить точку останова в методах:

    • ОбработкаЗапросовXDTOОбмен.ЗаписатьИзмененияОбъектов(Сообщение)
    • ОбработкаЗапросовXDTO.ЗаписатьОбъекты(Сообщение)

    Затем мы попытаемся снова внести изменения в ERP и отправить их. В отладчике мы сможем увидеть, прилетают ли данные вообще, в каком виде, и на каком этапе происходит их обработка или отклонение. Это позволит нам понять, доходит ли запрос до ДО и какая логика препятствует обновлению реквизита.

3. Работа регламентных заданий и статусы документов

Обновление реквизитов при интеграции не всегда происходит мгновенно и в реальном времени. Часто этот процесс завязан на выполнение регламентных заданий, а также на внутреннюю логику обработки документов в 1С:Документооборот.

  1. Логи регламентных заданий. Обмен между ERP и ДО часто выполняется регламентным заданием. Нам необходимо тщательно проверить журнал выполнения этого задания как на стороне ERP (если оно отвечает за отправку), так и на стороне ДО (если оно отвечает за прием и обработку). В нем могут содержаться критические ошибки, которые не отображаются пользователю в интерфейсе, но указывают на сбои в процессе обмена.

  2. Блокировка по состоянию документа. Автор исходной темы упоминал, что уже сталкивался с проблемой записи в ДО из-за статуса документа (сообщение 4). Несмотря на то, что настройки доступности по состоянию были изменены и сделаны активными для всех пользователей и состояний, вполне возможно, что существует внутренняя бизнес-логика или триггер в 1С:Документооборот, который блокирует изменение определенных реквизитов извне, если документ уже находится в обработке. Например, если по документу запущен бизнес-процесс согласования, система может предотвращать изменения, чтобы сохранить целостность данных в ходе процесса. Нам следует проанализировать статусы документа в ДО и проверить, есть ли связанные с ними ограничения на изменение данных.

4. Совместимость версий и известные ошибки

Хотя проблема кажется специфической для настроек обмена, мы не можем полностью исключать наличие известных ошибок в определенных сочетаниях версий платформы "1С:Предприятие", конфигураций 1С:ERP, 1С:Документооборот 2.1 и "Библиотеки интеграции с Документооборотом" (БИД). Сообщение 2, хоть и касается версии 3.0, напоминает о важности обновлений БИД.

  1. Проверка обновлений. Мы настоятельно рекомендуем проверить наличие актуальных обновлений для всех используемых компонентов: платформы "1С:Предприятие", конфигураций 1С:ERP, 1С:Документооборот и, что особенно важно, для "Библиотеки интеграции с Документооборотом". В обновлениях могли быть исправлены подобные ошибки, связанные с некорректной синхронизацией реквизитов.

  2. Изучение документации и релиз-ноутов. Мы должны внимательно изучить документацию по интеграции и релиз-ноуты обновлений, чтобы выявить возможные известные проблемы или изменения в механизмах обмена, которые могли повлиять на поведение реквизита "Комментарий".

Последовательно применяя эти шаги, от детальной проверки правил обмена до отладки веб-сервисов и анализа логов, мы сможем локализовать причину проблемы и настроить двусторонний обмен реквизитом "Комментарий" между 1С:ERP и 1С:Документооборот 2.1.

← На главную