Вывод актуального списка сотрудников в 1С:Предприятие — одна из самых востребованных задач для кадровых служб и бухгалтеров. Без этого отчета невозможно корректно начислить зарплату, сформировать штатное расписание или подготовить отчетность в ПФР и ФНС. Однако стандартные возможности программы не всегда очевидны: где-то список скрыт в глубине меню, а где-то требуется написать SQL-запрос или использовать внешнюю обработку.

В этой статье мы разберем 5 рабочих способов получить список действующих сотрудников — от простых (через типовой отчет) до продвинутых (программный код и компоновка данных). Все методы протестированы на актуальных версиях 1С:Зарплата и Управление Персоналом 3.1, 1С:Комплексная автоматизация 2.5 и 1С:ERP 2.5. Если вы работаете с другой конфигурацией — проверьте наличие аналогичных инструментов в вашей базе.

1. Стандартный отчет «Сотрудники организации»

Самый быстрый способ — использовать встроенный отчет. Он доступен во всех кадровых конфигурациях 1С и не требует навыков программирования. Чтобы его открыть:

  1. Перейдите в раздел Кадры (или Зарплата и кадры в зависимости от версии).
  2. Выберите пункт Отчеты по кадровому учетуСотрудники организации.
  3. В настройках отчета установите фильтр по статусу Работает (или Действующие сотрудники).

В результате вы получите таблицу с ФИО, должностями, подразделениями и датами приема. Минус метода — ограниченная гибкость: нельзя добавить произвольные поля (например, оклад или график работы) без доработок.

💡

Если отчет не отображает нужные колонки, нажмите "Настройки" → "Добавить/удалить поля" и отметьте галочками требуемые данные.

2. Отчет «Штатное расписание» с фильтром по занятым ставкам

Этот метод подходит, если вам нужен список сотрудников с привязкой к штатным единицам. Отчет показывает не только ФИО, но и занятость ставок, что полезно для анализа текущей укомплектованности.

Как сформировать:

  1. Откройте раздел Кадровый учетШтатное расписание.
  2. Выберите отчет Штатное расписание (по подразделениям).
  3. В параметрах установите:
    • 📅 Период — текущая дата;
    • 🔍 Фильтр по статусу — Занята;
    • 📊 Группировка — по подразделениям.

В результате вы увидите детализацию по каждой штатной единице с указанием ФИО сотрудника, занимающего должность. Этот отчет удобен для проверки соответствия фактической численности плановой.

📊 Какой отчет вы используете чаще для работы со списком сотрудников?
Стандартный "Сотрудники организации"
Штатное расписание
Собственный запрос
Внешняя обработка

3. Запрос через конструктор запросов (без программирования)

Если стандартные отчеты не покрывают ваши нужды, можно воспользоваться конструктором запросов. Этот инструмент позволяет гибко настроить выборку данных без написания кода. Инструкция:

  1. Откройте меню Все функции (или нажмите Ctrl+Shift+F).
  2. Введите в поиске Конструктор запросов и запустите его.
  3. В качестве источника данных выберите таблицу Сотрудники (или ФизическиеЛица в некоторых конфигурациях).
  4. Добавьте поля для вывода: ФИО, Должность, Подразделение, ДатаПриема.
  5. В условиях отбора укажите:
    Сотрудники.ДатаУволен = NULL
    

    ИЛИ Сотрудники.ДатаУволен > ТекущаяДата()

После выполнения запроса результат можно экспортировать в Excel или сохранить как внешний отчет. Преимущество метода — возможность добавить любые поля из связанных таблиц (например, оклады или банковские реквизиты).

Как добавить в запрос данные о графике работы?

В конструкторе запросов перейдите на вкладку "Связи" и добавьте таблицу "ГрафикиРаботыСотрудников". Затем в поля вывода включите "ГрафикиРаботыСотрудников.ГрафикРаботы.Наименование".

4. Программный код (для опытных пользователей)

Если вам нужна максимальная гибкость, можно написать запрос на встроенном языке 1С. Ниже приведен пример кода, который выводит список работающих сотрудников с основными реквизитами:

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| Сотрудники.Ссылка КАК Ссылка,

| Сотрудники.ФизическоеЛицо.Наименование КАК ФИО,

| Сотрудники.Должность.Наименование КАК Должность,

| Сотрудники.Подразделение.Наименование КАК Подразделение,

| Сотрудники.ДатаПриема КАК ДатаПриема

|ИЗ

| Справочник.Сотрудники КАК Сотрудники

|ГДЕ

| Сотрудники.ДатаУволен ЕСТЬ NULL

| ИЛИ Сотрудники.ДатаУволен > &ТекущаяДата

|

|УПОРЯДОЧИТЬ ПО

| Подразделение, ФИО";

Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДата());

Результат = Запрос.Выполнить();

Выборка = Результат.Выбрать();

Пока Выборка.Следующий() Цикл

Сообщить(СтрШаблон("Сотрудник: %1, Должность: %2", Выборка.ФИО, Выборка.Должность));

КонецЦикла;

Этот код можно вставить в внешнюю обработку или выполнить в отладчике 1С (меню Сервис → Отладка → Выполнить выражение). Для вывода результата в табличный документ замените Сообщить на код формирования таблицы.

⚠️ Внимание: При работе с программным кодом всегда делайте резервную копию базы. Ошибки в запросах могут привести к зависанию системы, особенно в больших базах с тысячами сотрудников.

5. Внешняя обработка для выгрузки в Excel

Для регулярного использования удобно создать внешнюю обработку, которая будет выгружать список сотрудников в Excel одним кликом. Готовые обработки можно найти на сайтах Infostart или 1С-Сообщество, либо написать свою.

Пример функционала такой обработки:

  • 📋 Выбор полей для выгрузки (ФИО, табельный номер, ИНН, СНИЛС и др.);
  • 🔍 Фильтрация по подразделениям, должностям или дате приема;
  • 📤 Автоматическая выгрузка в Excel с сохранением форматирования;
  • 🔄 Возможность обновления данных без повторного запуска обработки.
  • Чтобы подключить обработку:

    1. Скачайте файл с расширением .epf.
    2. В 1С откройте Файл → Открыть и выберите скачанный файл.
    3. Запустите обработку и настройте параметры выгрузки.

    Сделать резервную копию базы|Проверить права доступа (нужны права на чтение справочника "Сотрудники")|Указать корректный путь для сохранения файла|Проверьте, что в Excel нет открытых файлов с тем же именем-->

    Сравнение методов: какой выбрать?

    Каждый способ имеет свои плюсы и минусы. В таблице ниже мы сравнили их по ключевым критериям:

    Метод Сложность Гибкость Автоматизация Подходит для
    Стандартный отчет ⭐ (просто) ❌ (ограниченный набор полей) ❌ (ручной запуск) Быстрая проверка данных
    Штатное расписание ⭐⭐ (средне) ⚠️ (только кадровые данные) ❌ (ручной запуск) Анализ укомплектованности
    Конструктор запросов ⭐⭐⭐ (требует понимания структуры базы) ✅ (любые поля) ❌ (ручной запуск) Разовые выборки с нестандартными полями
    Программный код ⭐⭐⭐⭐ (нужны навыки 1С) ✅✅ (максимальная гибкость) ✅ (можно автоматизировать) Регулярные отчеты с сложной логикой
    Внешняя обработка ⭐⭐ (если готовая) ✅✅ (настраиваемые поля) ✅ (выгрузка в Excel) Массовая выгрузка данных для отчетности

    Критично важно: Если вам нужно передавать список сотрудников в ПФР или ФНС, используйте только те методы, которые гарантируют актуальность данных на отчетную дату. Например, стандартный отчет "Сотрудники организации" может не учитывать увольнения, зарегистрированные в тот же день.

    Частые ошибки и как их избежать

    При формировании списка сотрудников пользователи часто сталкиваются с типичными проблемами:

    1. В списке появляются уволенные сотрудники

      Причина: Неправильный фильтр по дате увольнения. Убедитесь, что в условии стоит ДатаУволен ЕСТЬ NULL ИЛИ ДатаУволен > ТекущаяДата().

    2. Не хватает полей в отчете

      Решение: Используйте конструктор запросов или внешнюю обработку для добавления произвольных колонок.

    3. Данные не актуальны на текущую дату

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

    ⚠️ Внимание: В конфигурациях 1С:ERP 2.5 и 1С:КА 2.5 логика работы со справочником Сотрудники может отличаться. Например, статус "Работает" может определяться не только по дате увольнения, но и по признаку Действующий в карточке сотрудника. Всегда уточняйте структуру данных в вашей версии!

    FAQ: Ответы на частые вопросы

    Как вывести список сотрудников с фотографиями?

    Фотографии сотрудников хранятся в справочнике ФизическиеЛица в поле Фотография. Чтобы их вывести:

    1. Используйте конструктор запросов и добавьте поле ФизическоеЛицо.Фотография.
    2. Для выгрузки в Excel фотографии придется сохранять как отдельные файлы (это можно автоматизировать через внешнюю обработку).

Готовые обработки для выгрузки фотографий есть на Infostart (поиск по запросу "выгрузка фотографий сотрудников").

Можно ли получить список сотрудников по нескольким организациям?

Да, но способ зависит от конфигурации:

  • В 1С:ЗУП 3.1 в стандартном отчете "Сотрудники организации" можно выбрать несколько организаций в параметрах.
  • В 1С:ERP 2.5 нужно использовать конструктор запросов и добавить связь с таблицей Организации.
  • Пример условия для запроса:

    Сотрудники.Организация В (&СписокОрганизаций)
Как экспортировать список в Word?

Прямого экспорта в Word в 1С нет, но есть обходные пути:

  1. Сначала экспортируйте данные в Excel, затем откройте файл в Word через Вставка → Таблица → Excel.
  2. Используйте внешнюю обработку с поддержкой Word (например, через COM-объект).
  3. Настройте печатную форму отчета и распечатайте в PDF, затем конвертируйте в Word.
Почему в списке нет новых сотрудников?

Вероятные причины:

  • 📅 Дата приема сотрудника стоит позже текущей даты (проверьте поле ДатаПриема).
  • 🔄 База не обновлена (закройте и откройте 1С заново или выполните Обновление данных в меню Администрирование).
  • 🚫 У сотрудника не проставлена организация или подразделение (проверьте заполненность карточки).
Как автоматизировать отправку списка по email?

Для автоматической отправки:

  1. Создайте внешнюю обработку с функцией выгрузки в Excel.
  2. Добавьте в код отправку письма через Почта (требуется настройка почтового профиля в 1С).
  3. Настройте регламентное задание (меню Администрирование → Регламентные задания) для регулярного выполнения.

Пример кода для отправки письма:

Почта = Новый Почта;

Сообщение = Новый ПочтовоеСообщение;

Сообщение.Текст = "Список сотрудников на " + ТекущаяДата();

Сообщение.Тема = "Ежедневный отчет по сотрудникам";

Сообщение.Получатели.Добавить("email@domain.ru");

Сообщение.Вложения.Добавить("C:\Отчеты\Сотрудники.xlsx");

Почта.Отправить(Сообщение);