Как исправить ошибку Метод объекта не обнаружен (ДатаВсутпленияВСилуОКПДТР2026) при проведении увольнения в 1С:ЗУП 3.1?

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

При проведении кадровых документов, в частности документа Увольнение в конфигурации 1С:Зарплата и управление персоналом 3.1, пользователи и программисты могут столкнуться с аварийным завершением операции со следующим текстом ошибки:

ЭлектронныеТрудовыеКнижкиКлиентСервер.ДатаВсутпленияВСилуОКПДТР2026 {(1)}: Метод объекта не обнаружен (ДатаВсутпленияВСилуОКПДТР2026)

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

Анализ причин возникновения ошибки

Обратим внимание на написание имени метода в тексте исключения: в слове допущена явная типовая опечатка от разработчиков 1С — ДатаВсутпленияВСилуОКПДТР2026 вместо грамматически корректного «Вступления». Начиная с определенных релизов (в частности, в ветках 3.1.38), фирма 1С добавила поддержку классификатора ОКПДТР, вступающего в силу с 2026 года. Для проверки периодов мероприятий трудовой деятельности в запросах и формах системы был реализован соответствующий метод.

Выясним причину, почему платформа не может обнаружить данный метод:

  1. Рассинхронизация модулей при выборочном или некорректном обновлении: Если база снята с полной поддержки, при выполнении сравнения и объединения конфигураций модуль ЭлектронныеТрудовыеКнижки или модули проведения кадровых документов могли обновиться, а общий модуль ЭлектронныеТрудовыеКнижкиКлиентСервер остался без изменений (например, с него случайно сняли флажок объединения). В результате вызывающий код требует новую функцию, которой физически нет в устаревшем общем модуле.
  2. Конфликт или некорректная установка патчей: Автоматически загруженные расширения-исправления (патчи CFE) через сервис 1С:Интернет-поддержка могут содержать обращения к новым экспортным функциям, рассчитывая на состав метаданных более свежих релизов.
  3. Попытка ручного исправления опечатки: Если разработчик заметил орфографическую ошибку в названии функции и исправил ее в самом общем модуле на ДатаВступленияВСилуОКПДТР2026, типовые вызовы из запросов и других модулей упадут с ошибкой отсутствия метода с оригинальным именем.
  4. Сбой кэша метаданных после динамического обновления: Использование обновления конфигурации базы данных без перезапуска сервера («демон») часто приводит к тому, что клиентские или серверные сеансы используют закэшированную старую версию структуры общего модуля.

Посмотрим на пример вызовов данной функции в типовой конфигурации. Метод задействован как минимум в 11 местах конфигурации, включая общие модули ЭлектронныеТрудовыеКнижки, ЭлектронныеТрудовыеКнижкиПовтИсп, формы списков справочника Должности и модуль объекта справочника ТрудовыеФункции. Например, при формировании запроса установки параметров мероприятий:


Запрос.УстановитьПараметр("ДатаВсутпленияВСилуОКПДТР2026", ЭлектронныеТрудовыеКнижкиКлиентСервер.ДатаВсутпленияВСилуОКПДТР2026());

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

Способ 1. Быстрое устранение через добавление недостающей функции

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

Проанализируем контекст общего модуля ЭлектронныеТрудовыеКнижкиКлиентСервер: модуль имеет установленные флажки Клиент (управляемое приложение) и Сервер. Соответственно, экспортируемая функция должна быть доступна на обеих сторонах.

Откроем конфигуратор, найдем модуль ЭлектронныеТрудовыеКнижкиКлиентСервер и вставим следующий код:


Функция ДатаВсутпленияВСилуОКПДТР2026() Экспорт
    Возврат '20260101';
КонецФункции

Функция ДатаВступленияВСилуОКПДТР2026() Экспорт
    Возврат '20260101';
КонецФункции

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

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

Способ 2. Проверка и отключение конфликтующих патчей

Проанализируем установленные в информационной базе автоматические исправления:

  1. Перейдем в раздел программы Администрирование → Обслуживание → Обновление программы.
  2. Откроем список Установленные исправления (патчи).
  3. Найдем патчи, затрагивающие функционал электронных трудовых книжек, формы увольнения или формирование подраздела 1.1 формы ЕФС-1.
  4. Отключим подозрительные патчи или деактивируем их, после чего полностью перезапустим рабочий сеанс программы 1С:Предприятие.

Способ 3. Полноценное обновление конфигурации и синхронизация модулей

Наиболее надежным и архитектурно правильным решением является приведение всех модулей конфигурации к единой актуальной версии поставщика:

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

Способ 4. Очистка серверного и клиентского кэша

Если программный код функции физически присутствует в конфигурации, но ошибка продолжает возникать, разберем процедуру очистки кэша платформы:

  1. Завершим работу всех активных сеансов пользователей информационной базы.
  2. Остановим службу кластера серверов 1С:Предприятия (ragent).
  3. Перейдем в рабочий каталог кластера серверов (каталог srvinfo) и удалим временные папки с кэшем сеансов (каталоги с длинными буквенно-цифровыми GUID, не затрагивая конфигурационные файлы и журнал регистрации).
  4. Запустим службу сервера 1С заново.
  5. На рабочих станциях пользователей очистим локальный кэш конфигурации путем запуска 1С с параметром /ClearCache или полным удалением информационной базы из списка стартера и ее повторным добавлением.

После выполнения указанных действий вызов метода ЭлектронныеТрудовыеКнижкиКлиентСервер.ДатаВсутпленияВСилуОКПДТР2026 отработает корректно, возвращая дату начала действия классификатора, и документ Увольнение проведется в штатном режиме.

← На главную