Как исправить ошибку "The server process could not be started" при COM-подключении к 1С?

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

При интеграции сторонних приложений с 1С через COM-соединитель можно столкнуться с ситуацией, когда подключение успешно работает, если программа 1С уже запущена на сервере, но завершается ошибкой, если ее нужно запустить автоматически. Чаще всего текст ошибки выглядит так: "The server process could not be started because the configured identity is incorrect. Check the username and password" (Серверный процесс не может быть запущен из-за неверно настроенного удостоверения. Проверьте имя пользователя и пароль).

Эта проблема особенно характерна для 64-разрядных операционных систем. Разберем по шагам, как диагностировать и устранить эту ошибку.

Причина №1 (Основная): Несоответствие разрядности DCOM и приложения

Главная и самая частая причина этой ошибки на 64-битных версиях Windows — несоответствие разрядности. На такой системе существует две среды для выполнения COM-объектов: 64-битная и 32-битная (WOW64). Соответственно, есть и две отдельные утилиты для настройки DCOM.

Если ваше внешнее приложение, которое пытается подключиться к 1С (например, программа на Delphi, C# или скрипт VBS), является 32-битным, то и настраивать права для COM-объекта 1С нужно в 32-битной оснастке "Службы компонентов".

Когда вы просто запускаете dcomcnfg из командной строки, по умолчанию открывается 64-битная версия, и все ваши настройки применяются не к той среде, которую использует ваше приложение.

Решение: Настройка DCOM в 32-битной оснастке

Чтобы запустить 32-битную версию утилиты "Службы компонентов", выполним следующие действия:

  1. Нажмите сочетание клавиш Win+R, чтобы открыть окно "Выполнить".
  2. В поле ввода введите следующую команду и нажмите Enter: mmc comexp.msc /32
  3. Откроется консоль управления (MMC) с 32-битной версией оснастки "Службы компонентов".
  4. В дереве слева перейдите по пути: Службы компонентов -> Компьютеры -> Мой компьютер -> Настройка DCOM.
  5. В списке найдите COM-объект, соответствующий вашей версии платформы. Например, для платформы 8.3 это будет V83.COMConnector.
  6. Нажмите на нем правой кнопкой мыши и выберите "Свойства".
  7. Перейдите на вкладку "Удостоверение" (Identity). Именно здесь и кроется решение.

После выполнения этих шагов и применения настроек, ваше 32-битное приложение сможет корректно запускать COM-сервер 1С.

Причина №2: Неправильная настройка пользователя для запуска COM-объекта

Даже в правильной версии оснастки важно корректно указать пользователя, от имени которого будет запускаться процесс 1С. Рассмотрим варианты на вкладке "Удостоверение".

Решение: Настройка выделенного пользователя

Для максимальной надежности и безопасности рекомендуется создать отдельного пользователя Windows специально для запуска COM-соединения.

  1. Создайте пользователя в Windows. На сервере, где находится база 1С, создайте нового локального или доменного пользователя (например, 1CComUser). Задайте ему надежный пароль, который не истекает.
  2. Создайте пользователя в 1С. Этот же пользователь должен быть заведен в информационной базе 1С, к которой вы подключаетесь, и у него должны быть все необходимые права для выполнения операций.
  3. Настройте DCOM. В свойствах COM-объекта V83.COMConnector (в 32-битной или 64-битной оснастке, в зависимости от вашего приложения) на вкладке "Удостоверение" выберите "Указанный пользователь". Введите логин и пароль созданного пользователя (1CComUser).
  4. Предоставьте права пользователю в Windows. Чтобы пользователь мог запускать процессы в фоновом режиме, ему нужно предоставить специальное право.
    • Откройте "Локальную политику безопасности" (secpol.msc).
    • Перейдите в Локальные политики -> Назначение прав пользователя.
    • Найдите политику "Вход в качестве пакетного задания" (Log on as a batch job).
    • Добавьте в эту политику вашего пользователя 1CComUser.
  5. Проверьте права на папки. Убедитесь, что у пользователя 1CComUser есть права на чтение и выполнение для каталога установки платформы 1С (например, C:\Program Files\1cv8), а также права на запись во временные папки Windows.

После выполнения этих настроек ваше COM-соединение будет работать стабильно и безопасно, независимо от того, запущен ли клиент 1С и вошел ли кто-то в систему на сервере.

← На главную