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

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

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

Этап 1: Диагностика проблемы

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

Для выявления проблемных записей воспользуемся консолью запросов. Проанализируем состояние сотрудников, у которых «зависли» записи с пустой датой окончания (признак активного состояния):


ВЫБРАТЬ
    СостоянияСотрудниковСрезПоследних.Сотрудник КАК Сотрудник,
    СУММА(1) КАК ВсегоЗаписей
ПОМЕСТИТЬ втСотр
ИЗ
    РегистрСведений.СостоянияСотрудников.СрезПоследних КАК СостоянияСотрудниковСрезПоследних
ГДЕ
    СостоянияСотрудниковСрезПоследних.ДействуетДо = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
СГРУППИРОВАТЬ ПО
    СостоянияСотрудниковСрезПоследних.Сотрудник
;
ВЫБРАТЬ
    втСотр.Сотрудник КАК Сотрудник
ИЗ
    втСотр КАК втСотр
ГДЕ
    втСотр.ВсегоЗаписей > 1

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

Этап 2: Методы исправления

Рассмотрим несколько проверенных способов решения данной задачи, от простых к более сложным:

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

Важные рекомендации при работе с дублями

Рассмотрим подробнее, на что стоит обратить внимание, чтобы ситуация не повторилась:

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

← На главную