Где хранятся данные форм П-4 и П-4НЗ в 1С:ЗУП 3.1 и как получить к ним доступ программно

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

При работе с регламентированной статистической отчетностью в программе 1С:Зарплата и управление персоналом 3.1 у разработчиков и аналитиков часто возникает задача программного анализа сохраненных отчетов. В частности, это касается форм П-4 (Сведения о численности и заработной плате работников) и П-4 (НЗ) (Сведения о неполной занятости и движении работников).

В этой статье мы подробно разберем, где физически в базе данных 1С хранятся заполненные формы, как программно извлечь из них данные с помощью встроенного языка, а также выясним, из каких регистров и объектов системы программа автоматически собирает показатели для их первоначального заполнения.

Где и в каком виде хранятся сохраненные отчеты П-4 и П-4НЗ

В современных версиях конфигураций на платформе 1С:Предприятие 8.3 (включая ЗУП 3.1, построенную на базе Библиотеки Стандартных Подсистем) вся регламентированная отчетность хранится непосредственно внутри информационной базы. Прошли те времена, когда отчеты выгружались во внешние файлы настроек.

Давайте рассмотрим основные объекты метаданных, которые отвечают за хранение статистических форм:

  1. Документ Документ.РегламентированныйОтчет: Каждая сохраненная или записанная форма П-4 или П-4НЗ представляет собой отдельный экземпляр этого документа. Он выступает в роли своеобразного «контейнера» для метаданных отчета (период, организация, вид отчета, состояние и т.д.).
  2. Реквизит ДанныеОтчета: Это самый важный реквизит документа РегламентированныйОтчет. Он имеет тип ХранилищеЗначения. Внутри этого хранилища в сжатом и сериализованном виде находится вся внутренняя структура отчета — значения конкретных ячеек разделов, данные многострочных частей, настройки выгрузки и варианты ручной корректировки.
  3. Регистр сведений Дополнительные файлы регламентированных отчетов: Для оптимизации производительности базы данных тяжелые двоичные файлы (например, сформированные XML-файлы для выгрузки в Росстат или готовые печатные формы в формате MXL) выносятся за пределы самого документа. Они записываются в этот регистр сведений, где измерением служит ссылка на родительский документ, а сами данные лежат в ресурсе СодержимоеФайла (также с типом ХранилищеЗначения).

Как программно обратиться к сохраненным данным отчета

Для того чтобы прочитать информацию, сохраненную пользователем в форме П-4, нам необходимо обратиться к реквизиту ДанныеОтчета конкретного документа и извлечь его содержимое. Давайте разберем этот процесс на примере кода.

Для извлечения объекта из базы данных мы используем метод Получить() объекта ХранилищеЗначения. Посмотрим на практический пример:


// Предположим, у нас уже есть СсылкаНаОтчет (типа ДокументСсылка.РегламентированныйОтчет)

Если ЗначениеЗаполнено(СсылкаНаОтчет) Тогда
    
    // Получаем объект документа для доступа к его реквизитам
    ДокументОбъект = СсылкаНаОтчет.ПолучитьОбъект();
    
    // Извлекаем сохраненные данные из хранилища значения
    ДвоичныеДанныеОтчета = ДокументОбъект.ДанныеОтчета.Получить();
    
    Если ТипЗнч(ДвоичныеДанныеОтчета) = Тип("Структура") Тогда
        // Проанализируем структуру полученных данных в отладчике.
        // Обычно внутри структуры находятся таблицы или соответствия с показателями отчета.
        // Например, доступ к показателям конкретного раздела:
        ПоказателиРаздела = ДвоичныеДанныеОтчета.Вставить("ПоказателиОтчета", Новый Структура);
    КонецЕсли;
    
КонецЕсли;

Обратите внимание, что структура, возвращаемая методом Получить(), зависит от конкретной версии XML-схемы отчета Росстата. При анализе этой структуры в режиме отладки мы увидим дерево или соответствие, где ключами выступают внутренние коды показателей (например, П000010001001), а значениями — введенные пользователем или рассчитанные системой числа.

Из каких источников 1С:ЗУП 3.1 собирает значения для формы П-4

Когда пользователь нажимает кнопку «Заполнить» в форме отчета П-4, программа не просто обращается к сохраненным документам, а запускает сложный алгоритм сбора статистических показателей. Весь этот процесс выполняется в недрах специализированного отчета Отчет.СтатистикаПерсонала.

Давайте разберем по шагам, из каких регистров и документов ЗУП 3.1 извлекаются данные для заполнения ключевых колонок отчета П-4:

  1. Средняя численность работников (Колонки 1–4):

    Эти показатели рассчитываются на основании кадровых данных. Программа анализирует списочный состав сотрудников организации за каждый календарный день отчетного периода.

    • Основным источником служат записи периодического регистра сведений КадроваяИсторияСотрудников.
    • Для исключения периодов, которые не должны учитываться при расчете средней численности (например, отпуска по уходу за ребенком, отпуска без сохранения заработной платы), система анализирует данные регистра сведений ДанныеСостоянийСотрудников.
    • Для заполнения графы работающих по договорам гражданско-правового характера (ГПХ) программа обращается к документам ДоговорРаботыУслуги и регистру сведений ПараметрыПериодовФСС.
  2. Количество отработанных человеко-часов (Колонки 5–6):

    Для расчета фактически отработанного времени система обращается к механизмам учета времени.

    • Программа анализирует записи регистра накопления ДанныеОРабочемВремени. Этот регистр заполняется документами начисления зарплаты, табелями учета рабочего времени и кадровыми отклонениями.
    • В расчет принимаются только фактически отработанные часы (включая сверхурочную работу и командировки). Праздничные, выходные дни и время болезни автоматически исключаются.
  3. Фонд заработной платы и социальные выплаты (Колонки 7–11):

    Это стоимостные показатели, которые собираются непосредственно из регистров расчета и накопления заработной платы.

    • Основным источником финансовых данных является регистр накопления НачисленияУдержанияПоСотрудникам.
    • То, в какую конкретно колонку попадет то или иное начисление (или не попадет вовсе), определяется настройкой самого вида расчета (справочник Начисления).
    • Важная деталь: В карточке любого начисления на вкладке «Налоги, взносы, бухучет» найдите реквизит «Статистическая отчетность». Здесь обязательно должно быть указано корректное значение: «Фонд заработной платы (П-4)», «Выплата социального характера (П-4)» или «Не включается в расходы на оплату труда». Если это поле не заполнено для какого-то нового начисления, показатель не попадет в форму П-4 автоматически.
  4. Коды ОКВЭД2 и Обособленные подразделения:

    Отчет П-4 требует детального разделения показателей по видам экономической деятельности. Программа получает эти сведения из карточек подразделений (если они выделены на отдельные ОКВЭД) или из справочника Организации. Сведения о территориально-обособленных подразделениях и их кодах ОКПО программа извлекает из справочника РегистрацииВНалоговомОргане.

Рекомендации по сверке и проверке собираемых данных

Если при автоматическом заполнении формы П-4 вы обнаружили расхождения с вашими расчетными листками или кадровыми приказами, мы рекомендуем выполнить следующие действия:

Используя представленный подход и понимание структуры хранения данных в ХранилищеЗначения документа РегламентированныйОтчет, вы сможете с легкостью автоматизировать аудит и выгрузку любых статистических показателей в сторонние аналитические системы организации.

← На главную