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