Другое · 10 мин
Как в 1С посчитать средний возраст сотрудников
Способы расчёта среднего возраста сотрудников в 1С:ЗУП и 1С:ERP — готовые отчёты, универсальный отчёт, запросы по датам рождения, проверка результата и частые ошибки.
Средний возраст сотрудников — показатель, который регулярно требуется кадровикам и руководителям: для отчётности по персоналу, кадровой политики, анализа структуры штата и планирования замещения. В 1С:ЗУП и других конфигурациях на базе БСП есть несколько способов его получить — от готовых отчётов до универсального отчёта и собственного запроса.
Выбор способа зависит от задачи. Если нужен разовый показатель, быстрее всего воспользоваться типовым отчётом по списку сотрудников. Если требуется разрез по подразделениям, полу или должностям — удобнее универсальный отчёт или консоль запросов. Для регулярной отчётности имеет смысл один раз настроить вариант отчёта и сохранить его.
Важный нюанс: средний возраст считается только по тем сотрудникам, у которых корректно заполнена дата рождения в личных данных. Пустые или ошибочные даты искажают результат, поэтому перед расчётом стоит проверить полноту данных.
Какие данные нужны и где они хранятся
Расчёт строится на одном реквизите — дате рождения физического лица. В 1С:ЗУП она хранится в карточке физического лица (раздел «Кадры» → «Сотрудники» → переход к личным данным физлица). Возраст вычисляется как разность между текущей датой (или датой отчёта) и датой рождения.
Проблема в том, что дата рождения — необязательный реквизит. При массовом найме или переносе данных из старых программ часть карточек остаётся без неё. Такие сотрудники либо выпадают из расчёта, либо, что хуже, попадают в него с нулевым возрастом и занижают среднее значение.
Поэтому первый шаг — контроль данных. Откройте список сотрудников, выведите колонку «Дата рождения» и отсортируйте по ней: пустые значения окажутся в начале или в конце списка. Заполните пропуски по данным паспортов или личных листков.
Расчёт через типовые отчёты 1С:ЗУП
В разделе «Кадры» → «Отчёты по кадрам» есть несколько отчётов, где фигурирует возраст. Наиболее подходящий — «Списки сотрудников» (в некоторых релизах — «Штатные сотрудники»). В настройках отчёта добавьте поле «Возраст» и установите для него итог «Среднее».
Порядок действий: откройте отчёт, нажмите «Настройки», перейдите на расширенный вид настроек, на вкладке «Поля» добавьте «Возраст», затем на вкладке «Структура» или через контекстное меню поля задайте тип итога. После формирования внизу таблицы появится среднее значение по выборке.
Преимущество способа — не нужны права разработчика и знание языка запросов. Ограничение — типовой набор полей и группировок: если нужен нестандартный разрез (например, по категориям персонала из дополнительных сведений), отчёт может не подойти.
- 1Откройте «Кадры» → «Отчёты по кадрам» → «Списки сотрудников»
- 2Установите период или дату, на которую считается возраст
- 3В настройках добавьте поле «Возраст» и включите для него итог «Среднее»
- 4При необходимости добавьте группировку по подразделению
- 5Сформируйте отчёт и проверьте итоговое среднее значение
- 6Сохраните настройки как вариант отчёта для повторного использования
Расчёт через универсальный отчёт
Универсальный отчёт (раздел «Администрирование» или «Отчёты» → «Универсальный отчёт», доступен пользователям с правами администратора) позволяет строить выборки по регистрам сведений и документам. Для кадровых данных подходит регистр сведений с кадровой историей физических лиц или справочник «Сотрудники» с отбором по дате рождения.
В настройках укажите объект данных, выведите поля «Сотрудник», «Подразделение», «Дата рождения» и вычисляемое поле возраста, если оно доступно в выбранном источнике. Для итога по среднему используйте агрегирование в группировке «Общий итог».
Универсальный отчёт удобен, когда нужно совместить возраст с данными, которых нет в типовых кадровых отчётах: стажем, ставкой, видом занятости. Но он требует понимания структуры метаданных — какой регистр или справочник содержит нужные сведения.
Расчёт запросом в консоли запросов
Для точного контроля над формулой используйте консоль запросов (внешняя обработка или встроенная в режиме тонкого клиента при наличии прав). Возраст в полных годах вычисляется функцией РАЗНОСТЬДАТ с типом ГОД по дате рождения и текущей дате, среднее — агрегатной функцией СРЕДНЕЕ.
Пример запроса по физическим лицам с отбором работающих сотрудников:
ВЫБРАТЬ
СРЕДНЕЕ(РАЗНОСТЬДАТ(ФизическиеЛица.ДатаРождения, &ТекущаяДата, ГОД)) КАК СреднийВозраст
ИЗ
Справочник.ФизическиеЛица КАК ФизическиеЛица
ГДЕ
ФизическиеЛица.ДатаРождения <> ДАТАВРЕМЯ(1, 1, 1)
В реальном запросе добавьте соединение с регистром кадровых данных, чтобы отобрать только действующих сотрудников на дату расчёта, иначе в выборку попадут уволенные и кандидаты. Условие на пустую дату рождения обязательно — иначе СРЕДНЕЕ учтёт записи с некорректными значениями.
СРЕДНЕЕ(РАЗНОСТЬДАТ(ДатаРождения, &ТекущаяДата, ГОД))Средний возраст по подразделениям и другим разрезам
Чаще всего требуется не общее число, а сравнение по структуре компании: средний возраст по подразделениям, должностям, полу. В типовом отчёте это делается группировкой: добавьте в структуру отчёта группировку «Подразделение» выше детальных записей — итог «Среднее» по возрасту посчитается для каждой группы отдельно и по компании в целом.
В запросе аналогичный результат даёт конструкция СГРУППИРОВАТЬ ПО с итогами ИТОГИ СРЕДНЕЕ(...) ПО ОБЩИЕ. Не используйте СУММУ с последующим делением вручную, если можно применить СРЕДНЕЕ — агрегатная функция корректно обрабатывает пустые значения и количество записей.
При интерпретации учитывайте размер групп: средний возраст подразделения из двух человек — неустойчивая статистика, одна замена сотрудника сместит показатель на десятки лет. Для малочисленных групп корректнее показывать список, а не среднее.
Проверка результата и типичные ошибки
Сверьте полученное среднее с «здравым смыслом»: для большинства организаций значение лежит в диапазоне 30–45 лет. Результат ниже 20 или выше 60 почти наверняка означает ошибку в данных или отборе. Простой способ проверки — выгрузить список сотрудников с возрастом в табличный документ, отсортировать по возрасту и посмотреть крайние значения.
Ещё одна проверка — количество записей в выборке. Сравните число сотрудников в расчёте со списочной численностью из отчёта «Численность и текучесть кадров». Если в расчёте среднего возраста записей заметно меньше — часть сотрудников выпала из-за пустых дат рождения или неверного отбора по периоду.
Как автоматизировать регулярный расчёт
Если показатель нужен ежемесячно или ежеквартально, сохраните настроенный вариант отчёта под понятным именем, например «Средний возраст по подразделениям». Вариант появится в списке отчётов, и сформировать его сможет любой пользователь с доступом к кадровым отчётам без повторной настройки.
Для рассылки руководству настройте отправку отчёта по расписанию через механизм рассылки отчётов (раздел «Администрирование» → «Рассылка отчётов»): укажите вариант отчёта, периодичность и получателей. Отчёт будет формироваться автоматически на актуальную дату.
Если показатель входит в управленческую панель (дашборд), добавьте вариант отчёта или произвольный макет с запросом в монитор целевых показателей — тогда средний возраст будет обновляться вместе с остальными метриками без ручных действий.
Что важно запомнить
Средний возраст считается по датам рождения физических лиц: быстрее всего — в типовом отчёте со средним итогом по полю «Возраст», гибче всего — запросом с РАЗНОСТЬДАТ и СРЕДНЕЕ. Перед расчётом проверьте полноту дат рождения и отберите только действующих сотрудников, после — сверьте результат со списочной численностью и диапазоном возрастов.
Частые вопросы
Можно ли посчитать средний возраст в 1С:Бухгалтерии, а не в ЗУП?
Да, если в базе ведутся кадровые данные и заполнены даты рождения в справочнике «Сотрудники» или «Физические лица». Используйте универсальный отчёт по справочнику с вычисляемым полем возраста или выгрузите список в табличный документ и посчитайте среднее там. Готового кадрового отчёта с возрастом в бухгалтерской конфигурации может не быть.
Почему в отчёте нет поля «Возраст»?
Набор полей зависит от отчёта и релиза конфигурации. Если в выбранном отчёте возраста нет, выведите «Дату рождения», выгрузите таблицу в Excel и добавьте формулу полных лет, либо используйте другой отчёт — «Списки сотрудников» или универсальный отчёт, где такое поле доступно.
Как посчитать средний возраст на конкретную дату в прошлом?
В настройках отчёта укажите нужную дату в параметре периода — возраст будет вычислен на неё. В запросе замените текущую дату на параметр с требуемой датой. Учтите, что отбор действующих сотрудников также должен стоять на эту же дату, иначе состав выборки не совпадёт с историческим.
Что делать, если даты рождения заполнены не у всех сотрудников?
Сначала получите список сотрудников с пустой датой рождения через отбор в списке или запрос с условием на пустую дату. Заполните данные по паспортам или личным карточкам. Если восстановить данные невозможно, считайте среднее только по заполненной выборке и обязательно укажите это в примечании к отчёту.
Можно ли вывести средний возраст в печатную форму или письмо руководителю?
Да. Сохраните вариант отчёта и настройте рассылку по расписанию — отчёт будет приходить на почту в формате Excel или PDF. Либо сформируйте отчёт вручную и сохраните табличный документ в нужном формате через «Файл» → «Сохранить как».
Чем средний возраст отличается от медианного и что лучше использовать?
Средний — это сумма возрастов, делённая на число сотрудников; медиана — значение, делящее список пополам. Медиана устойчивее к выбросам: несколько сотрудников предпенсионного возраста заметно сдвигают среднее, но не медиану. В типовых отчётах 1С доступно среднее; для медианы потребуется выгрузка в Excel или доработка.