Синхронизация данных между программами «1С:Зарплата и управление персоналом 3.1» и «1С:Бухгалтерия предприятия 3.0» является критически важным процессом для любого предприятия. Однако пользователи часто сталкиваются с техническим сбоем: при выполнении первого шага (загрузка данных) в ЗУП происходит ошибка «Аварийно завершился рабочий процесс фонового задания». При этом выгрузка данных может проходить успешно, а при запуске синхронизации со стороны Бухгалтерии ошибок может не возникать.
В этой статье мы подробно разберем, почему падает рабочий процесс rphost.exe, проанализируем технические причины возникновения этой ошибки и рассмотрим несколько эффективных способов решения проблемы — от использования специальных расширений до изменения архитектуры подключения.
Аварийное завершение рабочего процесса — это серьезная ошибка на уровне платформы «1С:Предприятие». Проанализируем ситуацию: когда мы используем прямое подключение (COM-соединение), одна база данных (клиент) обращается к другой базе (серверу) через специальную библиотеку comcntr.dll. В момент инициализации этого соединения или при передаче тяжелых объектов (например, больших таблиц соответствий) может произойти критическая ошибка в памяти — Access Violation.
Основные факторы, провоцирующие падение процесса:
Как показывает практика обсуждений на технических форумах, наиболее быстрым решением для специфических релизов является установка расширения конфигурации. Это расширение обычно вносит правки в общие модули, отвечающие за обмен данными.
Давайте рассмотрим, что именно исправляют такие патчи. Чаще всего корректировке подвергаются модули: ОбменДаннымиСервер или ОбменДаннымиПереносДанныхИзИнформационныхБаз1СПредприятия82. Расширение перехватывает выполнение стандартных процедур и изменяет логику чтения сообщения обмена. Например, оно может принудительно очищать кэш метаданных перед началом загрузки или блокировать выполнение проблемного участка кода, который вызывает рекурсию.
Для применения этого решения необходимо:
Если мы хотим навсегда избавиться от проблем, связанных с COM-соединением и библиотекой comcntr.dll, нам следует рассмотреть переход на обмен через Web-сервисы. Это более современный и стабильный метод взаимодействия между базами 1С.
Разберем по шагам, как это настроить:
Interface.1cws.Преимущество этого метода в том, что обмен идет по протоколу HTTP, который не зависит от разрядности сервера и не вызывает падения рабочего процесса rphost даже при передаче гигантских объемов данных.
Если по техническим причинам вы обязаны использовать прямое подключение, проанализируем способ изоляции процесса. Мы можем вынести работу COMConnector за пределы адресного пространства rphost. Это делается через настройку компонентов Windows.
Рассмотрим последовательность действий:
dcomcnfg).1C_COM_Connector).comcntr.dll из папки с установленной платформой 1С.После этой настройки при вызове COM-соединения система создаст отдельный процесс dllhost.exe. Даже если произойдет ошибка памяти, она случится внутри этого изолированного процесса, а основной рабочий процесс 1С (rphost) продолжит работу без сбоев.
Иногда причиной «аварийного завершения» является банальное повреждение кэша метаданных обмена. Выясним, как правильно произвести очистку.
Важно помнить, что обычная очистка пользовательского кэша (папки Local и Roaming) здесь не поможет, так как ошибка происходит на стороне сервера. Необходимо выполнить следующие действия:
C:\Program Files\1cv8\srvinfo).snccntxt... (кэш контекста) и очистить их содержимое.reg_1541 для конкретной информационной базы.Дополнительно проверьте регистрацию библиотеки. Для этого используйте командную строку от имени администратора:
regsvr32 "C:\Program Files\1cv8\8.3.XX.XXXX\bin\comcntr.dll"
Вместо 8.3.XX.XXXX укажите номер вашей актуальной версии платформы. Убедитесь, что вы регистрируете библиотеку именно той версии, на которой запущен сервер.
Проанализируем параметры рабочего сервера 1С. В консоли администрирования кластера (mmc) есть настройки, которые могут принудительно завершать фоновые задания.
Посмотрите на следующие параметры в свойствах рабочего сервера:
Резюме: Если вы столкнулись с падением процесса при синхронизации ЗУП и БП, в первую очередь попробуйте установить официальные патчи (исправления) от 1С или проверенное расширение. Если проблема сохраняется, наиболее надежным путем будет переход на обмен данными через Web-сервис, что исключит использование нестабильных COM-компонентов из процесса синхронизации.