Как исправить ошибку «Поле объекта не обнаружено (ПортАгентаСервера)» при обновлении 1С

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

При обновлении релизов конфигураций, использующих Библиотеку стандартных подсистем (БСП) — например, «Управление торговлей» ред. 11, — на этапе первого запуска программы в пользовательском режиме 1С:Предприятие может возникнуть сбой. В окне ошибки и журнале регистрации фиксируется следующее сообщение: «При обновлении версии программы возникла ошибка: Поле объекта не обнаружено (ПортАгентаСервера)».

Разберем подробнее причины возникновения этой ситуации и проанализируем практические способы её решения.

Причины возникновения ошибки

Выясним причину, почему возникает данная проблема. В новых версиях БСП разработчики изменили структуру хранения параметров администрирования кластера и информационной базы в объекте ПараметрыАдминистрирования. Реквизит ПортАгентаСервера был исключен из состава корневой структуры и перенесен во внутренние структуры вариантов подключения (COM / RAS).

Сбой происходит в момент выполнения процедуры ОбновитьПараметрыАдминистрированияИнформационнойБазы общего модуля СтандартныеПодсистемыСервер. Причиной ошибки обычно становятся:

  1. Устаревший кэш параметров: в базе данных сохранилась старая структура СтароеЗначениеПараметров, в которой программный код пытается найти уже удаленный ключ.
  2. Частичное обновление общих модулей: при объединении конфигураций в Конфигураторе не все программные модули были корректно обновлены из поставки.
  3. Недостаток прав пользователя: при первом запуске под пользователем без административных ролей фоновое задание обновления не может сформировать новые параметры базы.

Способ 1. Настройка обновления общих модулей в Конфигураторе

Рассмотрим порядок действий в Конфигураторе, если при сравнении и объединении конфигураций некоторые модули не переписались полностью.

  1. Откроем Конфигуратор и перейдем в меню Конфигурация — Поддержка — Обновить конфигурацию.
  2. На этапе вывода окна сравнения и объединения конфигураций найдем ветку Общие модули.
  3. Снимем флажок с ветки Общие модули и установим его заново, чтобы иконка выбора стала полностью активной (белый квадрат с галочкой). Это гарантирует, что абсолютно все общие модули, включая СтандартныеПодсистемыСервер, обновятся до версии поставщика.
  4. Выполним обновление конфигурации базы данных (клавиша F7) и запустим программу.

Способ 2. Проверка ролей пользователя и запуск обработчиков в режиме 1С:Предприятие

Разберем вариант, когда фоновое задание обновления завершается аварийно из-за ограничений прав доступа.

  1. Зайдем в Конфигуратор и откроем список пользователей (меню Администрирование — Пользователи).
  2. Выберем учетную запись, под которой запускается процесс обновления.
  3. Проверим наличие следующих ролей:
    • Администрирование;
    • Базовые права;
    • Базовые права УТ (или аналогичная базовая роль для используемой конфигурации).
  4. Сохраним изменения и запустим базу в режиме 1С:Предприятие. Программа автоматически выполнит начальное заполнение параметров администрирования и завершит обновление.

Способ 3. Временная корректировка процедуры общего модуля

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

  1. Откроем общий модуль СтандартныеПодсистемыСервер.
  2. Найдем процедуру ОбновитьПараметрыАдминистрированияИнформационнойБазы.
  3. Найдем блок кода, где происходит обращение к СтароеЗначениеПараметров.ПортАгентаСервера, и временно закомментируем эти строки:

// Если ЗначениеЗаполнено(СтароеЗначениеПараметров.ПортАгентаСервера) Тогда
//     ... 
// КонецЕсли;
  1. Обновим конфигурацию базы данных (F7).
  2. Запустим 1С:Предприятие. Ошибка исчезнет, и фоновые процедуры обновления информационной базы успешно завершатся.
  3. При последующем обновлении на следующий релиз снимем с поддержки или вернуть исходный модуль поставщика, проставив флаги обновления на все общие модули.

Устранение связанной ошибки «Тип не определен (COMObject)»

Иногда при старте обновленной базы или на чистых информационных базах может проявляться дополнительная ошибка: «Ошибка инициализации библиотеки модулей: Тип не определен (COMObject)».

Проанализируем причины этой проблемы:

  1. Объект COMObject поддерживается платформой 1С:Предприятие только в операционной системе Windows. При запуске клиентов под ОС Linux, macOS или через веб-клиент данное имя типа не определено платформой.Для работы в этих средах административные функции выполняются через сервис ras / утилиту rac.
  2. В ОС Windows эта ошибка свидетельствует об отсутствии зарегистрированной библиотеки COM-соединителя. Для устранения ошибки необходимо зарегистрировать библиотеку comcntr.dll соответствующей разрядности через утилиту regsvr32 или выполнить очистку локального кэша сеанса (параметр запуска /ClearCache).
← На главную