Как сделать подразделение в штатном расписании 1С:ЗУП 3.1 активным (не зачеркнутым)?

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

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

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

Выясняем причину: почему блокируется ручное управление закрытием?

Для того чтобы понять логику программы, обратимся к настройкам кадрового учета. В системе 1С:ЗУП 3.1 предусмотрено два режима ведения штатного расписания:

  1. Без ведения истории изменений. В этом случае пользователи редактируют позиции и подразделения напрямую в справочниках. Все изменения вступают в силу немедленно, а в карточке подразделения доступны для ручного редактирования реквизиты «Сформировано» и «Расформировано и не используется после...».
  2. С ведением истории изменений. При включении этой опции все изменения в штатное расписание вносятся исключительно специализированными документами (Утверждение штатного расписания и Изменение штатного расписания). Карточки подразделений и позиций при этом переходят в режим «чтения» для ключевых реквизитов. Программа начинает автоматически вычислять статус подразделения на основании актуальных кадровых документов.

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

Рассмотрим детально, почему подразделение может выглядеть закрытым, даже если вам кажется, что в нем есть «незачеркнутые позиции»:

---

Способ 1. Активация подразделения через ввод новой позиции (Методически верный путь)

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

Разберем этот процесс по шагам:

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

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

---

Способ 2. Корректировка ошибочного документа закрытия

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

Проанализируем ситуацию:

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

---

Способ 3. Технический обходной путь (Временное отключение истории)

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

Выполним следующие действия:

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

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

---

Дополнительный шаг: проверка статуса обособленности

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

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

---

Для разработчиков: программное исправление признака расформирования

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

Посмотрим на пример кода, который сбрасывает признаки закрытия у выбранного подразделения:


Процедура ВосстановитьАктивностьПодразделения(СсылкаНаПодразделение) Экспорт
    
    // Получаем объект из ссылки для возможности редактирования
    ОбъектПодразделение = СсылкаНаПодразделение.ПолучитьОбъект();
    
    Если ОбъектПодразделение <> Неопределено Тогда
        // Сбрасываем признаки расформирования
        ОбъектПодразделение.РеквизитДоп1 = Ложь; // В зависимости от релиза может использоваться признак расформирования
        ОбъектПодразделение.Записать();
        
        ВызватьИсключение "Подразделение успешно активировано!";
    КонецЕсли;
    
КонецПроцедуры

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

← На главную