Другое · 11 мин
Как посчитать средний возраст работников в 1С:ЗУП
Как посчитать средний возраст сотрудников в 1С:ЗУП: готовые отчёты, настройка варианта в «Все отчёты», универсальный отчёт и проверка корректности данных о датах рождения.
Средний возраст работников — показатель, который регулярно запрашивают руководство, кадровые службы и статистические органы. В 1С:ЗУП (редакция 3.1) нет отдельной кнопки «средний возраст», но данные о датах рождения хранятся в карточке каждого сотрудника, поэтому показатель можно получить несколькими способами: через штатные кадровые отчёты с настройкой, через универсальный отчёт или через механизм «Все отчёты» с вариантом на СКД.
Выбор способа зависит от задачи: нужен разовый расчёт на дату, регулярный отчёт с группировкой по подразделениям или показатель для выгрузки во внешнюю систему. Ниже разобраны рабочие варианты с конкретными шагами, контрольными точками и ограничениями каждого метода.
Что нужно проверить перед расчётом
Средний возраст считается по датам рождения физических лиц. Если у части сотрудников дата рождения не заполнена, результат будет занижен или отчёт просто не покажет этих людей в выборке. Поэтому первый шаг — аудит данных.
Откройте отчёт «Сотрудники без даты рождения» — в типовой поставке такого отдельного отчёта может не быть, поэтому проще воспользоваться списком «Физические лица» (раздел «Кадры» → «Физические лица») и отсортировать по колонке «Дата рождения». Пустые значения окажутся в начале или в конце списка. Заполните недостающие даты по данным паспортов.
Второй момент — определите контингент: средний возраст можно считать по всем работающим на дату, только по штатным (без совместителей), по конкретному подразделению или по списку организаций, если в базе ведётся несколько юрлиц. От ответа зависит отбор в отчёте.
Способ 1: универсальный отчёт по справочнику «Сотрудники»
Универсальный отчёт — самый гибкий инструмент для разового расчёта. Он доступен пользователям с правами на просмотр отчётов по данным информационной базы (обычно это кадровик-расчётчик или администратор).
Откройте «Отчёты» → «Универсальный отчёт». В настройках укажите: тип данных — «Справочник», объект — «Сотрудники». Установите отбор: «Работает» равно «Да» (или по полю «Дата увольнения» — не заполнено), при необходимости добавьте отбор по организации и подразделению.
Дальше нужно вывести возраст и итог. В настройках полей добавьте поле «Дата рождения» (через связь с физическим лицом), затем на закладке произвольных полей или через выражение в расширенных настройках задайте вычисление разницы между текущей датой и датой рождения в годах. Для итога по этому полю установите агрегат «Среднее».
- 1Откройте «Отчёты» → «Универсальный отчёт»
- 2Выберите справочник «Сотрудники» и задайте отбор по работающим
- 3Добавьте поле «Дата рождения» через физическое лицо
- 4Настройте вычисляемое поле возраста в полных годах
- 5В ресурсах укажите агрегат «Среднее» по полю возраста
- 6Сформируйте отчёт и сверьте количество строк со списочной численностью
Если в вашей версии настройка произвольных полей в универсальном отчёте ограничена, используйте альтернативу: выведите список сотрудников с датами рождения, выгрузите в табличный документ и посчитайте среднее формулой в Excel. Это приемлемо для разовой задачи, но не для регулярной отчётности.
Способ 2: настройка варианта кадрового отчёта
В разделе «Кадры» → «Кадровые отчёты» есть отчёты на СКД, которые можно донастроить без изменения конфигурации: «Список работников организаций», «Штатное расписание», «Сотрудники организаций». Подходит любой отчёт, где в выборку попадает физическое лицо с датой рождения.
Откройте отчёт, нажмите «Настройки» → «Расширенные настройки». На закладке «Поля» добавьте поле «Дата рождения» из данных физического лица. Чтобы получить именно возраст, добавьте пользовательское поле с выражением: разница между текущей датой и датой рождения, делённая на 365,25, с округлением вниз. В пользовательских полях СКД доступны функции языка выражений, включая работу с датами.
Затем на закладке «Ресурсы» добавьте ресурс по вычисляемому полю с агрегатной функцией «Среднее», а в структуре отчёта оставьте только общий итог — получите одну цифру. Сохраните настройку как отдельный вариант отчёта («Сохранить вариант»), чтобы не настраивать заново.
// Выражение пользовательского поля СКД: возраст в полных годах
Выбор
Когда ДатаРождения = ДатаВремя(1,1,1)
Тогда 0
Иначе РазностьДат(ДатаРождения, &ТекущаяДата, "ГОД")
КонецСпособ 3: расчёт через группировку по подразделениям
Часто требуется не одна цифра, а средний возраст по каждому подразделению — для анализа структуры персонала. В этом случае в структуре отчёта оставьте группировку «Подразделение», а ресурс «Средний возраст» разместите в итогах группировки.
Обратите внимание: при группировке среднее считается как среднее арифметическое возрастов сотрудников внутри группы, а не среднее из средних. Если в иерархии подразделений есть вложенность, проверьте, что итоги по родительским подразделениям считаются по всем вложенным сотрудникам, иначе цифры исказятся.
Для совместителей решите заранее, как их учитывать. Если сотрудник занимает две ставки в разных подразделениях, он попадёт в обе группировки и увеличит выборку. Для «честной» численности добавьте отбор по виду занятости — только основное место работы.
Сравнение способов расчёта
Подходит для разового расчёта и выгрузки; требует ручной настройки вычисляемого поля
Оптимален для регулярного использования: один раз настроил — сохранил вариант; нужны базовые навыки СКД
Самый простой путь без настроек, но данные приходится обновлять вручную при каждом пересчёте
Оправдана, если показатель нужен в регламентных отчётах и на рабочем столе; требует разработчика и усложняет обновление
Как проверить корректность результата
После получения цифры выполните три контрольные проверки. Первая — сверьте количество строк в отчёте со списочной численностью на ту же дату (отчёт «Численность сотрудников» или «Списочный состав»). Если количества не совпадают, в выборку попали уволенные, либо потерялись работающие.
Вторая проверка — выборочный ручной расчёт. Возьмите 3–5 сотрудников, посчитайте их возраст в полных годах на дату отчёта и сравните с тем, что вывела программа. Расхождение в один год обычно означает, что выражение считает разницу в годах без учёта того, наступил ли день рождения в текущем году.
Третья проверка — граничные значения. Если в отчёте появились сотрудники с возрастом 0 или старше 100 лет, это признак пустых или ошибочных дат рождения. Отфильтруйте такие записи и исправьте данные в карточках физических лиц.
Как проверить результат
Совпадает со списочной численностью на дату
Меньше или больше — проверяйте отбор по уволенным и совместителям
Все значения в диапазоне примерно 16–75 лет
Нули или значения старше 100 — пустые или ошибочные даты рождения
Правдоподобно для отрасли и не скачет от месяца к месяцу больше чем на 1–2 года
Резкие скачки — изменился состав выборки или слетела настройка отбора
Типичные ошибки и ограничения
Самая частая ошибка — расчёт возраста простым вычитанием годов. Если сотрудник родился в декабре 1990 года, а отчёт формируется в январе, разница годов завысит возраст на единицу у всех, у кого день рождения ещё не наступил. Используйте функцию разности дат с параметром «ГОД» или проверку наступления дня рождения.
Вторая ошибка — двойной учёт совместителей и сотрудников с несколькими рабочими местами. В справочнике «Сотрудники» один человек может быть представлен несколькими записями. Если считать среднее по записям справочника, а не по физическим лицам, результат сместится в сторону возрастов тех, у кого больше рабочих мест.
Третья ошибка — забытый отбор по дате. Кадровые отчёты формируются на дату или за период; если период не задан, часть отчётов берёт данные на текущую дату сеанса. При подготовке показателя «на конец квартала» обязательно зафиксируйте дату в параметрах.
Когда нужна доработка и какие есть альтернативы
Настроек СКД достаточно в большинстве случаев. Доработка конфигурации оправдана, если показатель нужен автоматически: в регламентированной статистической отчётности, в показателях KPI на начальной странице, в ежемесячном пакете отчётов для руководства. В этом случае разработчик добавляет отдельный отчёт или расширение — предпочтителен вариант через расширение, чтобы не усложнять обновления.
Альтернатива для организаций с несколькими базами — консолидация данных в Excel или BI-инструменте: из каждой базы выгружается список с датами рождения, среднее считается централизованно. Это снимает ограничение «одна база — один отчёт».
Как выбрать действие
FAQ
Почему в отчёте средний возраст отличается от посчитанного вручную?
Чаще всего причина в способе вычисления возраста: программа может считать полные годы на дату отчёта, а при ручном расчёте берётся простая разница годов. Вторая причина — разный состав выборки: проверьте отборы по уволенным, совместителям и организациям.
Можно ли посчитать средний возраст на прошлую дату?
Да. Установите в параметрах отчёта нужную дату, а в выражении возраста используйте её вместо текущей даты. Тогда программа рассчитает возраст каждого сотрудника именно на указанный момент, а выборку ограничит работавшими на ту дату.
У части сотрудников не заполнена дата рождения — что делать?
Сначала заполните данные по паспортам в карточках физических лиц: раздел «Кадры» → «Физические лица». Если восстановить данные быстро невозможно, добавьте в отчёт отбор «Дата рождения заполнена», но учитывайте, что среднее будет посчитано по неполной выборке.
Как исключить совместителей из расчёта?
Добавьте в отбор отчёта условие по виду занятости: «Основное место работы». Либо стройте выборку не по справочнику «Сотрудники», а по физическим лицам с условием наличия действующего трудового договора — тогда каждый человек войдёт в расчёт один раз.
Нужны ли права администратора для настройки такого отчёта?
Полные права не обязательны: достаточно прав на просмотр кадровых отчётов и сохранение вариантов отчётов. Однако универсальный отчёт в некоторых настройках прав доступен только пользователям с расширенным доступом к данным информационной базы.
Можно ли вывести средний возраст в разрезе должностей или пола?
Да, механизм тот же: добавьте в структуру отчёта группировку по нужному полю — «Должность», «Пол» физического лица — и ресурс «Среднее» по возрасту будет посчитан внутри каждой группы. Проверьте, чтобы в мелких группах хватало сотрудников для осмысленного среднего.
Что важно запомнить
Средний возраст в 1С:ЗУП считается через универсальный отчёт или настроенный вариант кадрового отчёта с вычисляемым полем возраста и агрегатом «Среднее». Перед расчётом заполните даты рождения, определите состав выборки и исключите двойной учёт совместителей. Результат проверяйте сверкой численности и граничных значений возраста.