При подготовке и сдаче отчетности СЗВ-ТД (в настоящее время — подраздел 1.1 раздела 1 формы ЕФС-1) в программе «1С:Зарплата и управление персоналом» (1С:ЗУП) пользователи часто сталкиваются с неочевидными техническими сложностями. Две наиболее распространенные и неприятные проблемы — это системная ошибка «Не заполнена колонка "Сотрудник" в строке списка мероприятия» при записи или проведении документа, а также конфликт уникальных идентификаторов кадровых событий, сопровождающийся сообщением «Запись с такими ключевыми полями существует: Мероприятия трудовой деятельности переданные (ИД мероприятия)».
В этой статье мы подробно разберем внутренние механизмы платформы 1С, приводящие к возникновению этих сбоев, проанализируем поведение регистров сведений и предложим надежные пошаговые методики исправления данных в вашей базе.
Рассмотрим первую ситуацию. Бухгалтер или кадровик открывает документ СЗВ-ТД, в котором визуально все поля заполнены корректно: указаны сотрудники, их СНИЛС, даты и виды кадровых мероприятий. Однако при попытке установить флаг «Пачка принята в ПФР» и провести документ система выдает ошибку о незаполнении колонки сотрудника в строке списка мероприятий и блокирует запись.
Данная проблема связана с зарегистрированной ошибкой конфигурации (код ошибки в базе «1С»: 30172294 / 000065685), которая массово проявлялась в релизах ветки 3.1.12 и ранних версиях 3.1.13. Дело в том, что в табличной части документа СЗВ-ТД скрыт внутренний реквизит СотрудникЗаписи (служебное поле связи физического лица с кадровым событием). При ручном редактировании строк, копировании данных или переносе кадровых сведений связь между таблицей сотрудников и таблицей мероприятий нарушалась. Визуально в интерфейсе сотрудник отображался, но во внутренней структуре базы данных поле оставалось пустым. При проведении документа с флагом принятия запускалась жесткая валидация структуры данных, приводившая к ошибке.
3.1.13.145 или 3.1.10.375.СотрудникЗаписи заполнится корректно. После этого документ успешно запишется с установленным флагом принятия.Вторая проблема гораздо глубже и связана с механикой работы уникальных идентификаторов кадровых мероприятий — UUID (GUID). При попытке установить флаг «Пачка принята в ПФР» программа выдает ошибку дублирования ключевых полей в регистре сведений. Посмотрим, почему так происходит.
Каждому кадровому событию (прием на работу, кадровый перевод, увольнение) в программе при проведении первичного документа автоматически присваивается уникальный 36-символьный идентификатор — UUID. Именно этот код отправляется в СФР (ранее — ПФР) для однозначной идентификации записи. Когда мы устанавливаем в документе СЗВ-ТД признак «Пачка принята в ПФР», программа фиксирует этот UUID в независимом регистре сведений Мероприятия трудовой деятельности переданные. Это необходимо, чтобы в дальнейшем система понимала, что событие уже отправлено, и не включала его в последующие отчеты. Для ручной корректировки кадровых событий и идентификаторов в отчете можно использовать расширение для редактирования СЗВ-ТД и замены UUID мероприятий.
Конфликт ключевых полей означает, что программа пытается записать в регистр переданных мероприятий идентификатор UUID, который там уже присутствует. Выясним основные причины этой путаницы:
UUID, либо нарушить связь со старым. В результате в базе образуется путаница между отправленным идентификатором и тем, который числится в кадровом документе.UUID и выдает ошибку.Для исправления ситуации можно использовать несколько проверенных практических методов.
Проанализируем записи регистров сведений, отвечающих за фиксацию кадровых мероприятий. Для этого нам понадобится открыть интерфейс «Функции для технического специалиста» (в главном меню программы):
Мероприятия трудовой деятельности переданные.UUID (строка, указанная в системной ошибке).Мероприятия трудовой деятельности и сравним идентификаторы событий. Если в регистре переданных сведений зависла фантомная строка от более позднего (например, мартовского) документа, из-за которой не проводится первичный (февральский) документ, эту фантомную строку необходимо аккуратно удалить из регистра переданных сведений.Для программистов и опытных пользователей решить задачу поиска дубликатов в регистре поможет простой запрос в консоли:
ВЫБРАТЬ
РегистрПереданные.ИдентификаторМероприятия КАК ИД_Мероприятия,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РегистрПереданные.Сотрудник) КАК КоличествоСотрудников
ИЗ
РегистрСведений.МероприятияТрудовойДеятельностиПереданные КАК РегистрПереданные
СГРУППИРОВАТЬ ПО
РегистрПереданные.ИдентификаторМероприятия
ИМЕЮЩИЕ
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РегистрПереданные.Сотрудник) > 1
Если вы не хотите вручную править системные регистры, можно применить «обходной» маневр с созданием технического документа. Этот способ безопасен и эффективно решает проблему дублирования:
UUID в регистре переданных сведений в рамках закрытого периода.Для корректного сопоставления сведений, имевших место до 2020 года, разберем порядок работы с документом РегистрацияТрудовойДеятельности:
Регистрация трудовой деятельности.Регистрация трудовой деятельности для первоначального заполнения исторических данных должен создаваться в базе единожды. Создание нескольких таких документов неизбежно приводит к генерации дублирующих UUID для одних и тех же событий.Часто в базе «1С:ЗУП» ведется ручная нумерация кадровых приказов с использованием индексов (например, «15-к»). По умолчанию программа может обрезать префиксы организации и информационных баз при заполнении СЗВ-ТД, из-за чего номера документов в отчете и в бумажной трудовой книжке не совпадают. Чтобы исправить это, выполним следующую настройку:
Мы детально рассмотрели причины возникновения ошибок при заполнении СЗВ-ТД в программе «1С:ЗУП» и разобрали практические методы их устранения. Системные сбои с пустыми колонками и дублирующимися ключевыми полями успешно устраняются путем обновления конфигурации, корректного перезаполнения строк через подбор и использования технических документов для «закрытия» устаревших UUID. Применяя данные рекомендации, вы сможете поддерживать порядок в кадровых регистрах и без проблем сдавать регламентированную отчетность.