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