Как исправить ошибку «Поле ОКПДТР Код не заполнено» в 1С:ЗУП 3.1 при сохранении трудовой функции?

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

При работе в актуальных релизах программы 1С:Зарплата и Управление Персоналом 3.1 пользователи часто сталкиваются с досадной проблемой. При попытке создать или отредактировать элемент справочника Трудовые функции система выдает блокирующую ошибку: «Поле "ОКПДТР Код" не заполнено». Самое неприятное в этой ситуации то, что программа требует заполнения поля, которое предназначено для периода «до 2026 года», но при этом само поле может быть заблокировано для редактирования или скрыто с формы, если вы уже начали заполнять сведения по новым правилам.

В этой статье мы подробно разберем, почему возникает эта ошибка, проанализируем официальную позицию разработчиков 1С и рассмотрим несколько способов решения проблемы: от быстрых «лайфхаков» до корректного исправления через обновление системы.

Выясним причину возникновения ошибки

Проанализируем ситуацию с технической точки зрения. Разработчики 1С начали масштабную подготовку к изменениям в классификаторах, которые вступят в полную силу с 2026 года. В связи с этим в справочнике Трудовые функции появилось разделение сведений ОКПДТР на два периода: до 31.12.2025 и начиная с 01.01.2026, что требует выполнить загрузку данных ОКПДТР 2026 в справочник.

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

Решение 1: Смена рабочей даты (быстрый способ)

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

  1. Перейдем в раздел Главное или воспользуемся меню Сервис — Настройки — Параметры.
  2. Найдем поле Рабочая дата.
  3. Установим значение даты на 31.12.2025 или любую более раннюю дату текущего периода, что часто помогает решать проблемы с датами в документах.
  4. После изменения даты вернемся в справочник Трудовые функции.
  5. Теперь поля для «старого» ОКПДТР станут доступны для заполнения. Выберем необходимый код из классификатора.
  6. Запишем и закроем элемент справочника.
  7. Не забудьте вернуть рабочую дату в исходное состояние (автоматическое определение).

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

Решение 2: Установка исправительного патча

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

Разберем по шагам, как проверить наличие и установить исправление:

  1. Зайдем в раздел Администрирование — Обслуживание — Обновление программы.
  2. Выберем пункт Установленные исправления (патчи).
  3. Если в списке нет кода EF_70142583, нажмем кнопку Поиск и установка исправлений (требуется подключение к интернет-поддержке).
  4. Программа автоматически скачает и применит расширение, которое корректирует процедуру проверки заполнения реквизитов.

После установки патча перезагрузка сервера 1С обычно не требуется, достаточно перезапустить клиентское приложение. Проверка на обязательность старого кода ОКПДТР станет «умной» и будет игнорироваться, если заполнены новые сведения.

Решение 3: Групповое изменение реквизитов

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

  1. Откроем Администрирование — Обслуживание — Корректировка данных — Групповое изменение реквизитов.
  2. В поле «Изменять» выберем Трудовые функции.
  3. Нажмем Добавить условие, чтобы выбрать только те функции, которые не удается записать (например, по конкретному наименованию или подразделению).
  4. В списке реквизитов найдем Код по ОКПДТР (тот, что относится к периоду до 2026 года).
  5. Установим нужное значение.
  6. В нижней части формы нажмем кнопку Дополнительные параметры и убедимся, что установлена галочка Записывать объекты в режиме загрузки (это позволит обойти проверку ПередЗаписью).
  7. Нажмем Изменить реквизиты.

Решение 4: Программное заполнение (для разработчиков)

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


// Пример программного исправления трудовой функции
ТФОбъект = Справочники.ТрудовыеФункции.НайтиПоНаименованию("Бухгалтер").ПолучитьОбъект();
Если ТФОбъект <> Неопределено Тогда
    // Заполняем реквизит, который требует система
    ТФОбъект.ОКПДТРКод = "20335"; // Пример кода для бухгалтера
    
    // Используем режим загрузки для пропуска проверок в модуле объекта
    ТФОбъект.ОбменДанными.Загрузка = Истина;
    
    Попытка
        ТФОбъект.Записать();
        Сообщить("Данные успешно обновлены");
    Исключение
        Сообщить("Ошибка при записи: " + ОписаниеОшибки());
    КонецПопытки;
КонецЕсли;

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

Почему важно заполнить эти поля сейчас?

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

Рекомендуем:

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

← На главную