При работе в конфигурации 1С:Зарплата и управление персоналом 3.1 пользователи могут столкнуться с неприятной ситуацией: при заполнении документа (например, «Табель») через форму подбора один и тот же сотрудник отображается дважды. При этом в справочниках Сотрудники и Физические лица (между которыми можно настроить быстрый переход) дубликатов нет, а кадровые отчеты формируются корректно. Рассмотрим подробнее, почему возникает эта техническая ошибка и как привести данные в порядок.
Для начала выясним причину такого поведения системы. В современных версиях ЗУП 3.1 (особенно в версии КОРП) для ускорения работы интерфейса используется вспомогательный механизм. Вместо того чтобы каждый раз обращаться к тяжелым кадровым регистрам и справочникам при открытии формы подбора, система считывает данные из специального индексного регистра сведений — Данные для подбора сотрудников.
Проанализируем ситуацию, описанную на форуме: в этом регистре обнаруживаются лишние записи, которые ссылаются на одного и того же физика и одного сотрудника. Примечательно, что одна из записей может иметь установленный признак Пометка удаления. Важно понимать, что в регистрах сведений 1С не существует стандартной системной пометки на удаление (как у справочников или документов). В данном случае ПометкаУдаления — это ресурс или реквизит самого регистра, который используется алгоритмами подбора для фильтрации отображаемых данных.
Почему там появляются лишние строки? Рассмотрим наиболее частые причины:
Прием на работу одной датой, затем изменил её или пометил документ на удаление и создал новый, механизмы подписки на события могли сработать некорректно, оставив «фантомную» запись в техническом регистре.Данные для подбора сотрудников не очищаются своевременно.Если проблема носит единичный характер, мы можем устранить её вручную, используя редактор регистров. Для этого выполним следующие действия:
Данные для подбора сотрудников.Пометка удаления = Истина.После удаления записи дубль в форме подбора исчезнет мгновенно, так как динамический список подбора обращается именно к этим данным.
Разработчики 1С предусмотрели механизм автоматического восстановления этого регистра. Если дублей много, ручная очистка неэффективна — лучше использовать инструмент автоматической очистки и диагностики регистров 1С. Разберем, как запустить полную регенерацию данных:
Воспользуемся встроенной обработкой Обновление данных для подбора и построения списков. Найти её можно также через «Функции для технического специалиста». Эта обработка полностью очищает содержимое регистра Данные для подбора сотрудников и перезаполняет его на основании актуальных сведений из справочника Сотрудники и регистров кадровой истории.
Важный нюанс: Перед запуском убедитесь, что в системе не выполняются активные расчеты или массовое проведение документов, так как процесс перезаполнения может быть ресурсоемким для больших баз данных.
Иногда записи в регистре «зависают» из-за ошибок в фоновых процессах. Посмотрим на работу регистра Объекты для обновления. Именно в нем хранятся ссылки на объекты, которые система должна обработать и перенести в индексные регистры подбора.
Если мы видим, что по конкретному сотруднику в этом регистре висит запись с ошибкой или старым временем, система будет бесконечно пытаться обновить данные, что может приводить к временным дублям или отсутствию актуальных сведений. В таком случае стоит очистить записи в Объектах для обновления для данного сотрудника и запустить фоновое задание Обновление данных для подбора сотрудников принудительно.
Чтобы минимизировать риск возникновения подобных ситуаций, рекомендуется придерживаться следующих правил:
Прием на работу через «Shift+Delete» (непосредственное удаление), а всегда использовать стандартную процедуру пометки на удаление.Обновление данных для подбора сотрудников выключено или завершается с ошибкой, информация в интерфейсе будет неизбежно устаревать.Подводя итог, отметим: появление двух сотрудников в подборе при чистоте справочников — это всегда признак рассинхронизации вспомогательного регистра Данные для подбора сотрудников. Его очистка или программное обновление — надежный способ решить проблему без вмешательства в структуру кадрового учета.