При работе с электронными трудовыми книжками в программе 1С:Зарплата и управление персоналом 3.1 бухгалтеры часто сталкиваются с ситуацией, когда в новый отчет СЗВ-ТД (в актуальных редакциях — подраздел 1.1 формы ЕФС-1) попадают мероприятия, которые уже были отправлены ранее. При попытке отправить такой отчет контролирующий орган выдает ошибку: «Мероприятие с таким UUID уже зарегистрировано». Это происходит потому, что программа пытается повторно отправить сведения, которые она считает «незакрытыми».
В этой статье мы подробно разберем, почему так происходит, как правильно убрать лишние строки из отчета и как заставить 1С «забыть» об уже отправленных событиях, не прибегая к опасному ручному редактированию идентификаторов.
Для начала выясним причину проблемы. В системе 1С каждое кадровое событие (прием, перевод, увольнение), отмеченное галочкой Отразить в трудовой книжке, получает уникальный идентификатор — UUID (или ГУИД). Информация об этом записывается в специальный регистр сведений.
Когда мы создаем отчет СЗВ-ТД и нажимаем кнопку Заполнить, программа ищет в этом регистре все записи, которые еще не привязаны к какому-либо другому отчету со статусом Принят. Если вы уже отправляли увольнения, но не пометили тот отчет как принятый фондом, программа логично полагает, что сведения еще не доставлены, и включает их в новый документ вместе с вновь добавленными приемами или переводами.
Прежде чем пытаться что-то удалять вручную, нам необходимо проверить состояние предыдущих документов. Рассмотрим этот процесс по шагам:
Теперь, если мы создадим новый отчет и нажмем Заполнить, в него попадут только новые, еще не отправленные кадровые документы.
Многие пользователи ошибочно полагают, что в 1С нельзя редактировать состав мероприятий внутри отчета, так как в основной таблице кнопка удаления часто недоступна или удаляет сотрудника целиком. Однако это не так. Разберем, как удалить конкретное событие:
В форме отчета найдем колонку Мероприятия. Она выглядит как текстовая строка со списком событий (например, «Увольнение 15.05.2023»). Нам нужно дважды кликнуть левой кнопкой мыши прямо по этой ячейке в строке нужного сотрудника. Откроется вспомогательное окно Мероприятия.
В этом окне мы увидим список всех событий по данному физическому лицу, которые попали в текущую пачку. Здесь мы можем выделить «лишнее» мероприятие и нажать клавишу Del на клавиатуре или кнопку Еще — Удалить. После закрытия окна мероприятия изменятся только для этого сотрудника, а остальные данные в отчете останутся нетронутыми. Для более гибкого управления составом мероприятий и их идентификаторами можно использовать расширение для расширенного редактирования трудовой деятельности в СЗВ-ТД.
Важный момент: Если мы просто удалим строку в этом окне, мы не отменим само кадровое событие. Мы просто исключим его из данного конкретного отчета.
Если автоматическое заполнение работает слишком масштабно и подтягивает сотни лишних строк, проанализируем ситуацию и сменим тактику заполнения. Вместо кнопки Заполнить в верхней части документа используем кнопку Подбор.
При нажатии на Подбор откроется список сотрудников. Программа подсветит тех, по кому есть зарегистрированные, но не отправленные кадровые изменения. Мы можем выбрать только тех людей, чьи сведения нам нужно подать именно сейчас (например, только новых сотрудников). При таком подходе старые мероприятия, по которым еще не проставлен статус «принято», просто не попадут в документ.
Иногда возникают сложные случаи, когда кадровый приказ был изменен после отправки, и 1С пытается отправить «отмену» старого мероприятия и «прием» нового. Если нам нужно вмешаться в этот процесс на уровне регистров, воспользуемся сервисным документом.
Рассмотрим, как это сделать:
СЗВ-ТД, как описано в Решении 1.Некоторые специалисты советуют «взломать» форму и вручную поменять UUID мероприятия в XML-файле или в базе. Выясним причину, по которой этого делать категорически нельзя:
Фонд (СФР) ведет учет именно по этим уникальным идентификаторам. Если вы отправите то же самое увольнение, но с новым UUID, в базе фонда у человека появится два увольнения. Это приведет к критическим ошибкам в стаже и на лицевом счете сотрудника. Исправлять такие «двойники» потом крайне сложно — придется подавать формы на отмену каждого ошибочного идентификатора.
Также ручная правка UUID в файле выгрузки создает рассинхронизацию: в вашей базе 1С мероприятие числится под одним кодом, а в фонде — под другим. При любой попытке корректировки в будущем 1С не сможет найти «связку» и выдаст ошибку.
Если вам все же необходимо убедиться, какой UUID присвоен мероприятию, вы можете посмотреть его через «Функции для технического специалиста». Нам понадобится регистр сведений МероприятияТрудовойДеятельности.
Для анализа программным способом можно использовать следующий запрос к этому регистру:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Мероприятия.ФизическоеЛицо,
| Мероприятия.ДатаМероприятия,
| Мероприятия.ВидМероприятия,
| Мероприятия.ИдентификаторПрограммы
|ИЗ
| РегистрСведений.МероприятияТрудовойДеятельности КАК Мероприятия
|ГДЕ
| Мероприятия.ФизическоеЛицо = &ФизическоеЛицо";
Запрос.УстановитьПараметр("ФизическоеЛицо", НужныйСотрудник);
Поле ИдентификаторПрограммы — это и есть тот самый UUID. Посмотрев его, вы сможете сравнить данные в программе с данными, указанными в протоколе ошибок от фонда, и понять, какое именно событие вызывает конфликт.
Подводя итог, выделим три главных правила работы с мероприятиями в ЗУП 3.1:
Следуя этим инструкциям, вы сможете легко управлять составом отчетности и избегать ошибок при регистрации трудовой деятельности сотрудников.