Почему может не работать бесшовная интеграция 1С:Документооборот и 1С:ERP?

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

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

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

Проблема: Отсутствие синхронизации изменений после создания документа

Если после успешного создания документа из 1С:ERP в 1С:ДО последующие изменения в этом документе не синхронизируются, это указывает на нарушение или некорректную работу механизма обмена данными. Мы проанализируем основные причины и пошагово рассмотрим решения.

  1. Проверка публикации веб-сервисов для обеих баз

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

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

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

  2. Очистка регистра сведений "Очередь сообщений для отправки в документооборот"

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

    Мы рекомендуем очистить данный регистр сведений — для этого есть обработка очистки технических регистров 1С от битых записей. Это можно сделать программно или с помощью стандартных средств администрирования. Перед очисткой в рабочей базе обязательно сделайте резервную копию!

  3. Проверка выполнения регламентных заданий

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

    • В 1С:ERP: регламентное задание ИнтеграцияС1СДокументооборотом... (может иметь разные варианты названия, например, ОбменДаннымиС1СДокументооборотом).
    • В 1С:ДО: регламентное задание Формирование сообщений обмена для интегрируемых конфигураций (или его аналог, например, ИнтегрированныеСистемыФормированиеСообщений).

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

Диагностика и устранение ошибок

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

  1. Ошибка "Превышено время ожидания" (Таймаут)

    Эта ошибка (Ошибка работы с Интернет: Превышено время ожидания) часто возникает при вызове веб-сервиса и указывает на то, что запрос к интегрированной системе не был выполнен в установленный срок — для анализа таких сбоев есть логирование и анализ HTTP-запросов 1С. Таймаут не всегда связан только с большим объемом данных в регистрах, хотя это и является частой причиной.

    1. Очистка регистра сведений "СвязиОбъектовИнтегрированныхСистем" (1С:ДО)

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

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

    2. Увеличение настроек таймаута

      Мы можем увеличить значение таймаута как программно при формировании HTTP-запроса, так и в конфигурационных файлах веб-сервера (например, IIS, Apache), на котором опубликованы базы. Увеличение таймаута дает системе больше времени для выполнения длительных операций, однако не решает корневую причину медленной работы.

    3. Проверка сетевого соединения и нагрузки на сервер

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

    4. Оптимизация запросов и правил интеграции

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

  2. Ошибка "Регистрационный номер не уникален!"

    Эта ошибка (Ошибка при записи внутреннего документа:¶Регистрационный номер не уникален!¶) указывает на конфликт при попытке присвоить регистрационный номер документу, который уже существует в базе 1С:ДО. Эта проблема может быть вызвана несколькими причинами:

    1. Конфликт нумераторов

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

    2. Ручной ввод документов

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

  3. Работа с регистрами сведений "СвязиОбъектовИнтегрированныхСистем" и "Объекты, интегрированные с 1С:Документооборотом"

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

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

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

← На главную