Почему закрытое подразделение не отображается перечеркнутым в штатном расписании 1С:ЗУП 3.1?

Программист 1С:Зарплата и Управление Персоналом
← На главную

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

Анализ механизма отображения закрытых объектов

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

  1. Реквизит ДатаРасформирования в справочнике Подразделения.
  2. Состояние позиций в регистре сведений ИсторияИспользованияШтатногоРасписания.
  3. Записи в регистре ПодчиненностьПодразделенийОрганизаций.

Если в подразделении была создана «лишняя» позиция, которая не была введена в штатное расписание должным образом (например, создана вручную в справочнике и помечена на удаление), это может сбивать алгоритмы проверки целостности. Даже после удаления объекта-фантома записи в связанных регистрах могут оставаться в неактуальном состоянии.

Решение 1: Актуализация записей через документы истории

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

Рассмотрим шаги для исправления:

  1. Перейдем в раздел КадрыШтатное расписание.
  2. Найдем документ, которым была закрыта последняя позиция в проблемном подразделении.
  3. Попробуем распровести и заново провести этот документ. Важно: если после этого документа были более поздние изменения штатного расписания, их также придется перепроводить в хронологическом порядке.
  4. Проверим результат в справочнике Подразделения. Обычно после корректной перезаписи движений по штатному расписанию статус «закрыто» подхватывается интерфейсом.

Решение 2: Проверка и обновление вспомогательных регистров

Если перепроведение документов по какой-то причине невозможно на «живой» базе (например, из-за большого периода давности), проанализируем состояние технических регистров. Иногда проблема кроется в регистре Подчиненность подразделений организаций.

Разберем, как проверить эти данные:

Решение 3: Проверка скрытого реквизита «Дата расформирования»

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


ВЫБРАТЬ
    Подразделения.Ссылка,
    Подразделения.ДатаРасформирования,
    Подразделения.ПометкаУдаления
ИЗ
    Справочник.Подразделения КАК Подразделения
ГДЕ
    Подразделения.Наименование ПОДОБНО "%ВашеПодразделение%"

Если ДатаРасформирования пустая, ее необходимо заполнить. Если же она заполнена, но подразделение не зачеркнуто — значит, система «видит» в нем действующие позиции штатного расписания в регистре История использования штатного расписания.

Решение 4: Принудительное условное оформление (обходной путь)

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

  1. В списке подразделений нажмем ЕщёНастроить список.
  2. Перейдем на закладку Условное оформление.
  3. Добавим новое правило:
    • Оформление: Шрифт — зачеркнутый.
    • Условие: Дата расформирования Заполнено ИЛИ Заполнено (Штатное расписание) Равно Ложь (в зависимости от доступных полей).

Это позволит «подкрасить» нужные строки, не затрагивая сложную логику проведения документов.

Почему не стоит удалять позиции штатного расписания вручную?

Разберем важный методологический момент. Проблема автора часто возникает из-за удаления позиций, помеченных на удаление, напрямую из справочника Штатное расписание. В ЗУП 3.1 штатное расписание версионное. Это означает, что каждая позиция «живет» в привязке к документам изменений.

Проанализируем последствия ручного удаления:

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

Итоги

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

← На главную