При работе в программе 1С:Зарплата и управление персоналом 3.1 пользователи нередко сталкиваются с ситуацией, когда по одному и тому же человеку в списке отображается несколько записей. Желание «навести порядок» и объединить их с помощью обработки Поиск и удаление дублей часто приводит к катастрофическим последствиям: суммы в расчетных листках увеличиваются в несколько раз, кадровая история превращается в «кашу», а отчетность перестает заполняться корректно. В этой статье мы детально разберем, почему так происходит, как устроена архитектура программы и что делать, если вы уже совершили эту ошибку.
Для начала проанализируем, в чем заключается принципиальное отличие двух главных справочников программы. В 1С:ЗУП 3.1 реализована жесткая иерархия, которую важно понимать для корректного учета.
Важно запомнить: При повторном приеме сотрудника на работу (даже на ту же должность) программа обязана создать новую карточку в справочнике Сотрудники, но привязать её к уже существующему Физическому лицу. Это нормальное поведение системы, которое не является ошибкой или дублем.
Рассмотрим ситуацию, когда пользователь применяет обработку Поиск и удаление дублей к справочнику Сотрудники. Программа механически заменяет ссылку на одного сотрудника ссылкой на другого во всех документах и регистрах. Выясним причину завышения сумм (например, в 4 раза):
Когда вы объединяете два объекта, записи в регистрах сведений (таких как КадроваяИсторияСотрудников, ПлановыеНачисления) и регистрах расчета (Начисления) начинают накладываться друг на друга. Если у первого (удаленного) сотрудника и второго (основного) были записи в одних и тех же периодах, отчет Расчетный листок, обращаясь к регистру, видит несколько записей по одному и тому же объекту там, где должна быть одна. Из-за нарушения уникальности измерений в регистрах происходит суммирование или циклическое дублирование строк.
В результате мы получаем ситуацию, когда в регистре ВзаиморасчетыССотрудниками числится долг, превышающий реальный в несколько раз, а в кадровом учете сотрудник может одновременно находиться в состоянии «Работает» и «Уволен» в одну и ту же секунду.
Часто бухгалтеры пытаются объединить сотрудников, чтобы программа «увидела» зарплату за прошлые периоды (например, по совместительству) при расчете отпуска. Рассмотрим правильный механизм:
В 1С:ЗУП 3.1 расчет среднего заработка производится по физическому лицу. Если у вас создано две карточки сотрудников (старая и новая), но обе они привязаны к одному и тому же элементу справочника Физические лица, то при создании документа Отпуск программа автоматически соберет доходы по всем местам работы этого человека. Если доходы не подтягиваются — значит, у вас задублированы именно Физические лица.
Если вы уже объединили сотрудников и получили «раздутые» суммы, проанализируем шаги по восстановлению учета. Идеальный вариант — восстановление из резервной копии, сделанной до объединения. Если бэкапа нет, придется выполнять ручную коррекцию.
Шаг 1. Создание новой карточки сотрудника.
Вам необходимо вручную создать в справочнике Сотрудники новую запись, которая будет соответствовать «удаленному» при объединении сотруднику. При этом обязательно выберите то же самое Физическое лицо.
Шаг 2. Разделение документов.
Теперь нужно распределить документы между «выжившим» сотрудником и вновь созданным. Для этого удобно использовать обработку Групповое изменение реквизитов. Мы должны отобрать документы (Приемы на работу, Начисления зарплаты, Ведомости), которые исторически относились к старому сотруднику, и изменить в них поле Сотрудник на новую карточку.
Шаг 3. Работа с регистрами.
После перепривязки документов необходимо последовательно перепровести их. Это заставит программу заново сформировать записи в регистрах. Рассмотрим пример логики перепроведения:
// Сначала перепроводим кадровые приказы (Прием, Перевод, Увольнение)
// Затем документы-отклонения (Больничные, Отпуска)
// В последнюю очередь — документы начисления (Начисление зарплаты и взносов)
Особое внимание уделите регистру ГрафикРаботыСотрудников и ПлановыеНачисления. Проверьте, чтобы периоды работы разных карточек сотрудников не пересекались там, где это запрещено (например, если это не совместительство, а повторный прием).
Чтобы избежать ошибок в будущем, проанализируем штатный инструмент 1С:ЗУП 3.1 для исправления дублей — «Объединение личных карточек». Этот помощник предназначен исключительно для работы со справочником Физические лица.
Посмотрим на алгоритм его работы:
Сотрудники перенаправляются на «основное» физлицо.Сотрудников остаются разными, что сохраняет чистоту кадровой истории и правильность расчетов.Подводя итог, выясним главные правила гигиены базы данных в 1С:ЗУП 3.1:
1. Никогда не объединяйте сотрудников через Поиск и удаление дублей. Эта обработка не учитывает сложную логику регистров расчета.
2. Дублирующиеся сотрудники при повторном приеме — это норма. Программа сама поймет, что это один человек, через ссылку на Физическое лицо.
3. Объединяйте только Физических лиц. Если вы видите двух людей с одинаковым СНИЛС, используйте специализированный помощник Объединение личных карточек в разделе Кадры или Администрирование.
4. Проверяйте расчетный листок. Если суммы задвоились — это первый признак того, что в регистрах произошло «схлопывание» разных трудовых договоров на один объект. В этом случае немедленно прекратите работу и займитесь восстановлением аналитики по сотрудникам.
Соблюдение этих простых принципов позволит вам сохранить базу в рабочем состоянии, а расчет среднего заработка и кадровые отчеты (ЕФС-1, СЗВ-СТАЖ) всегда будут формироваться корректно и без ошибок.