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

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

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

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

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

  1. Конфликт настроек штатного расписания: Выяснилось, что ошибка проявляется только в тех информационных базах, где в настройках кадрового учета (раздел Настройки — Кадровый учет — Настройка штатного расписания) не установлен флаг Ведется штатное расписание.
  2. Ошибки в механизме "Условного оформления": В динамическом списке справочника сотрудников прописаны правила, по которым система визуально выделяет объекты. При отключенном штатном расписании программный код некорректно обрабатывает признак актуальности подразделения, ошибочно принимая его за "архивное" или "расформированное".
  3. Версия платформы 1С:Предприятие: Было замечено, что проблема наиболее остро проявляется на платформе версии 8.3.13.1513. Платформа некорректно интерпретирует запросы конфигурации к данным о состоянии подразделений при определенных условиях визуализации.

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

Способ 1: Обновление конфигурации и патчи

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

Проанализируем текущую версию вашей программы. Если вы используете релиз в диапазоне 3.1.8.113 — 3.1.8.155, вам необходимо обновиться до версии 3.1.8.185 или выше. В современных ветках, таких как 3.1.10, 3.1.14 и актуальных 3.1.27+, эта ошибка полностью устранена.

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

Способ 2: Временное изменение настроек штатного расписания

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

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

  1. Перейдем в раздел Настройки.
  2. Выберем пункт Кадровый учет.
  3. Откроем ссылку Настройка штатного расписания.
  4. Установим флаг Ведется штатное расписание.

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

Способ 3: Изменение режима просмотра списка

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

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

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

Технические подробности для администраторов

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

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


// Условное оформление для динамического списка
ЭлементОформления = Список.УсловноеОформление.Элементы.Добавить();
ЭлементОформления.Оформление.УстановитьЗначениеПараметра("Шрифт", Новый Шрифт(,,,,,Истина)); // Истина - зачеркнутый
ЭлементОформления.Условие = Новый ПолеКомпоновкиДанных("Расформировано") = Истина;

При ошибке в релизе 3.1.8 при выключенном штатном расписании значение поля Расформировано в запросе динамического списка могло возвращать NULL или Истина из-за некорректного левого соединения таблиц в недрах конфигурации. Именно поэтому очистка кэша (которую часто советуют на форумах) здесь помогает редко — проблема кроется в самом тексте запроса или логике работы платформы с этим запросом.

Резюме и рекомендации

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

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

← На главную