Почему в отчете «Штатная расстановка» не отображаются сотрудники или выводятся запятые?

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

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

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

Для начала выясним причину. Отчет «Штатная расстановка» строится не по прямым кадровым документам, а на основе данных специальных интервальных регистров. Основным «поставщиком» информации для него является регистр сведений Занятость позиций штатного расписания (интервальный).

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

Решение №1: Принудительное перезаполнение интервального регистра

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

Рассмотрим порядок действий:

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

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

Решение №2: Проверка настройки истории штатного расписания

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

Посмотрим на возможные несоответствия:

Решение №3: Перепроведение кадровых документов (метод перемещения)

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

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

Дополнительные технические причины («Запятые» в СКД)

Выясним причину появления именно запятых. В системе компоновки данных (СКД), на которой построен отчет, поля часто группируются или соединяются. Если по одной позиции ШР (ключ связи: Подразделение + Должность) система видит в регистре двух сотрудников (или сотрудника и «пустое место» из-за битой записи), она выводит их через разделитель — решить эту проблему поможет утилита автоматического поиска и удаления битых ссылок.

На что еще следует обратить внимание:

  1. Документы отсутствия: Проверим документы Отпуск по уходу за ребенком или Больничный лист. Если в них установлен флаг Освободить ставку на период отсутствия, это создает дополнительную запись в интервальном регистре. При наложении периодов может возникнуть конфликт, который и приводит к появлению пустых строк.
  2. Дубли физических лиц: Если в базе есть два одинаковых физических лица и одно из них было выбрано в документе Начальная штатная расстановка, а затем помечено на удаление, отчет может видеть связь, но не находить текстовое представление объекта — решить проблему поможет обработка поиска и объединения дублей физических лиц.
  3. Тестирование и исправление: В крайних случаях выполним процедуру Тестирование и исправление информационной базы в конфигураторе. Нас интересуют пункты Реиндексация таблиц и Проверка логической целостности. Это поможет убрать «фантомные» записи в интервальных таблицах — для этого подойдёт обработка диагностики и очистки регистров от фантомных записей.

Резюме по исправлению

Подводя итог, можно сказать, что в 90% случаев проблема решается именно через Перезаполнение регистра сведений «Занятость позиций штатного расписания (интервальный)». Это штатная процедура, предусмотренная разработчиками для исправления последствий старых ошибок в релизах. Если же это не помогло, следует переходить к анализу конкретных кадровых документов и проверке целостности данных по конкретным сотрудникам. В качестве альтернативы для контроля позиций можно использовать внешний отчет штатного расписания с выводом сотрудников.

← На главную