Почему в справочнике «Должности» скрыты группы «Условия труда» и «Страховые взносы»?

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

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

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

Разберем подробно, почему так происходит, как работает механизм скрытия полей в платформе 1С:Предприятие 8.3 и как корректно включить необходимые настройки.

Анализ проблемы: почему отладчик «обманывает»?

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

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

  1. В метаданных есть объект ФункциональнаяОпция.
  2. Реквизиты справочников, документов или элементы формы привязываются к этой опции.
  3. Значение опции хранится в регистре сведений или константе.

Если функциональная опция выключена (значение Ложь), платформа автоматически скрывает все связанные с ней элементы интерфейса. Важно понимать, что это происходит на уровне платформы, "поверх" программного кода формы.

Когда мы пишем код:

Элементы.ГруппаУсловияТруда.Видимость = Истина;

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

Решение проблемы: Настройка функциональности

В конкретном случае, обсуждаемом в теме, поля «Условия труда» и «Страховые взносы» в справочнике Должности регулируются настройками учета страховых взносов. Если в программе не включен учет сотрудников с вредными условиями, система считает эти поля избыточными и скрывает их.

Проанализируем пошаговый алгоритм включения видимости этих полей.

Шаг 1. Переход к настройкам налогов

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

Нам необходимо перейти в раздел Главное и выбрать пункт Налоги и отчеты.

Шаг 2. Настройка Страховых взносов

В открывшемся окне настроек слева будет список разделов (Система налогообложения, Налог на прибыль, НДС и т.д.). Нам нужно найти и выбрать раздел Страховые взносы.

Шаг 3. Активация опции

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

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

После установки флага:

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

Дополнительные причины скрытия реквизитов

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

Внешний учет зарплаты

Проверим настройки зарплаты в разделе Администрирование — Параметры учета — Настройки зарплаты. Если там установлен переключатель «Во внешней программе» (например, учет ведется в 1С:ЗУП 3.1), то «1С:Бухгалтерия» намеренно скрывает и блокирует многие зарплатные реквизиты в справочниках.

В такой архитектуре предполагается, что справочник Должности загружается из внешней системы по правилам обмена, и редактировать условия труда нужно именно в программе-источнике (ЗУП), а не в приемнике (Бухгалтерия).

Пользовательская настройка формы

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

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

Техническая реализация (для программистов)

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

Пример кода для проверки:


// Имя функциональной опции нужно смотреть в дереве конфигурации
// Обычно оно совпадает с логикой настройки
ИспользоватьВредныеУсловия = ПолучитьФункциональнуюОпцию("ИспользоватьНачислениеЗарплатыСВреднымиУсловиями");

Если НЕ ИспользоватьВредныеУсловия Тогда
    // Логика, если опция выключена
    // Например, сообщить пользователю, почему он не видит поля
КонецЕсли;

Также стоит помнить, что функциональные опции могут быть параметризованными (зависеть от Организации). В этом случае синтаксис будет следующим:


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

Резюме

Проблема исчезновения полей в справочнике Должности в 99% случаев не является программной ошибкой. Это штатное поведение системы 1С, управляемое функциональными опциями. Чтобы вернуть поля для ввода классов условий труда (спецоценки) и настройки досрочной пенсии:

  1. Не ищите ошибку в конфигураторе.
  2. Зайдите в раздел Главное — Налоги и отчеты — Страховые взносы.
  3. Включите настройку о наличии сотрудников с вредными или тяжелыми условиями труда.
← На главную