Почему в штатном расписании 1С:ERP не отображается поле особых условий труда и как включить его видимость?

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

При настройке штатного расписания в 1С:ERP Управление предприятием разработчики и кадровые специалисты нередко сталкиваются с ситуацией, когда поле ОсобыеУсловияТруда (или ОсобыеУсловияТрудаПФР) отсутствует на форме позиции штатного расписания. При этом попытка проверить элемент в отладчике может поставить в тупик: свойство Элементы.ОсобыеУсловияТрудаПФР.Видимость возвращает значение Истина, однако самого поля на экране нет. Разберем по шагам, с какими настройками системы связано такое поведение и как устроен платформенный механизм управления видимостью.

Шаг 1. Включение функциональной опции в настройках организации

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

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

  1. Перейдем в карточку организации или откроем регистр сведений Настройки учета страховых взносов (также доступен из настроек учетной политики по расчету зарплаты и страховых взносов).
  2. Найдем раздел, отвечающий за учет особенностей пенсионного обеспечения.
  3. Установим флаг Используются работы с досрочной пенсией.
  4. Запишем изменения и заново откроем форму позиции штатного расписания.

После включения данной опции для организации блок реквизитов для учета льготного стажа и условий труда ПФР станет доступен для редактирования.

Шаг 2. Разбор механизма работы функциональных опций и иерархии элементов

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

Рассмотрим особенности управляемых форм платформы «1С:Предприятие 8.3»:

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

Шаг 3. Диагностика скрытых элементов через отладчик

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


ТекущийРодитель = Элементы.ОсобыеУсловияТрудаПФР.Родитель;
Пока ТекущийРодитель <> Неопределено Цикл
    Если НЕ ТекущийРодитель.Видимость Тогда
        ВызватьИсключение "Элемент скрыт родительской группой: " + ТекущийРодитель.Имя;
    КонецЕсли;
    ТекущийРодитель = ТекущийРодитель.Родитель;
КонецЦикла;

Если все родители имеют флаг Видимость = Истина, проверим значение опции вручную в контексте выбранной организации:


ПараметрыОпции = Новый Структура("Организация", Объект.Организация);
ЗначениеОпции = ПолучитьФункциональнуюОпцию("ИспользуютсяРаботыСДосрочнойПенсией", ПараметрыОпции);

Шаг 4. Проверка пользовательских настроек формы

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

  1. Откроем форму позиции штатного расписания.
  2. Через меню Еще перейдем в пункт Изменить форму и проверим, включен ли флаг напротив поля условий труда и его родительской группы.
  3. Если форма ранее настраивалась вручную, выполним команду Еще — Установить стандартные настройки, чтобы сбросить персональные изменения интерфейса.
  4. При сохранении проблемы очистим кэш пользовательских настроек формы в режиме «1С:Предприятие» в списке настроек пользователей информационной базы.
← На главную