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

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

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

Анализируем причину возникновения дублей

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

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

Почему там появляются лишние строки? Рассмотрим наиболее частые причины:

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

Способ 1: Ручная очистка регистра (для продвинутых пользователей)

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

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

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

Способ 2: Использование штатной обработки обновления данных

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

Воспользуемся встроенной обработкой Обновление данных для подбора и построения списков. Найти её можно также через «Функции для технического специалиста». Эта обработка полностью очищает содержимое регистра Данные для подбора сотрудников и перезаполняет его на основании актуальных сведений из справочника Сотрудники и регистров кадровой истории.

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

Способ 3: Проверка очереди фоновых заданий

Иногда записи в регистре «зависают» из-за ошибок в фоновых процессах. Посмотрим на работу регистра Объекты для обновления. Именно в нем хранятся ссылки на объекты, которые система должна обработать и перенести в индексные регистры подбора.

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

Как предотвратить появление дублей в будущем

Чтобы минимизировать риск возникновения подобных ситуаций, рекомендуется придерживаться следующих правил:

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

← На главную