Как массово заполнить трудовые функции для сотрудников в 1С:ЗУП 3.1?

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

При переходе на электронные трудовые книжки и введении формы ЕФС-1 (ранее СЗВ-ТД) пользователи столкнулись с необходимостью заполнения реквизита Трудовая функция. В крупных организациях с сотнями сотрудников ручное заполнение этого поля в каждом документе приема или перевода становится непосильной задачей. Рассмотрим, как автоматизировать этот процесс, проанализируем механизмы программы и разберем по шагам наиболее эффективные способы решения проблемы.

Понимание иерархии и логики подстановки данных

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

  1. Позиция штатного расписания: Если в программе ведется штатное расписание, это приоритетный источник. Если в позиции Трудовая функция заполнена, она автоматически подтянется в документ Прием на работу или Кадровый перевод.
  2. Справочник Должности: Если в позиции штатного расписания поле не заполнено или штатное расписание не ведется, система обращается к карточке должности.
  3. Ручной ввод: Если ни в штатном расписании, ни в должностях функция не указана, поле в документе останется пустым, и его придется заполнять вручную.

Важно: Данные для отчетов (ЕФС-1/СЗВ-ТД) берутся не напрямую из справочников, а из регистра сведений Мероприятия трудовой деятельности. Записи в этот регистр попадают только при проведении кадровых документов или при создании документа Регистрация трудовой деятельности.

Способ 1. Использование внешней обработки для штатного расписания

Разберем ситуацию, когда в справочнике Должности трудовые функции уже прописаны, но в Штатном расписании они отсутствуют. Для этого случая компания 1С выпустила специальную внешнюю обработку "Заполнение трудовых функций в позициях штатного расписания". Рассмотрим алгоритм работы с ней:

  1. Подключим обработку через раздел Администрирование — Печатные формы, отчеты и обработки.
  2. Запустим обработку. Она проанализирует все позиции штатного расписания.
  3. Если в позиции поле Трудовая функция пустое, программа найдет соответствующую должность и возьмет значение оттуда.
  4. После выполнения обработки во всех будущих кадровых документах трудовая функция будет заполняться автоматически при выборе позиции штатного расписания.

Однако этот способ не решает проблему с уже созданными документами и записями в регистре мероприятий. Выясним, как поступить в этом случае.

Способ 2. Групповое изменение реквизитов в кадровых документах

Если нам нужно "проштамповать" трудовую функцию в уже проведенных документах за прошлые периоды, воспользуемся типовой обработкой Групповое изменение реквизитов. Проанализируем этот метод подробнее:

Перейдем в раздел Администрирование — Обслуживание — Корректировка данных — Групповое изменение реквизитов. Выполним следующие настройки:

  1. В поле Выбирать элементы типа выберем Прием на работу и Кадровый перевод.
  2. Нажмем Добавить условие отбора. Укажем период (например, дата документа больше или равна 01.01.2023) и, если нужно, конкретную организацию.
  3. В списке реквизитов найдем Трудовая функция.
  4. Установим нужное значение из справочника.
  5. Критический момент: В дополнительных настройках (кнопка "Дополнительные параметры") обязательно установим флаг "Выполнять в транзакции" и, если программа позволяет, убедимся, что при записи объектов будут пересчитаны связанные регистры.

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

Способ 3. Документ "Регистрация трудовой деятельности"

Рассмотрим случай, когда документы менять нельзя, но отчетность сдать нужно. Выясним причину, по которой документ Регистрация трудовой деятельности может быть полезен:

Этот документ предназначен специально для корректировки сведений, подаваемых в ПФР (СФР). Мы можем использовать его для добавления недостающих данных без изменения первичных кадровых приказов.

  1. Создадим документ Регистрация трудовой деятельности.
  2. Нажмем кнопку Заполнить — Все мероприятия или выберем конкретных сотрудников.
  3. Воспользуемся функцией Еще — Обновить параметры мероприятий. Если в справочниках должностей или штатного расписания трудовые функции уже заполнены, система подтянет их в этот документ.
  4. При формировании ЕФС-1 программа приоритетно возьмет данные именно из этого регистра.

Техническая реализация: Пример программного заполнения (для программистов)

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


// Пример кода для обработки документов
Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	ПриемНаРаботу.Ссылка КАК Ссылка,
    |	ПриемНаРаботу.Должность.ТрудоваяФункция КАК ТФ_Из_Должности
    |ИЗ
    |	Документ.ПриемНаРаботу КАК ПриемНаРаботу
    |ГДЕ
    |	ПриемНаРаботу.ТрудоваяФункция = ЗНАЧЕНИЕ(Справочник.ТрудовыеФункции.ПустаяСсылка)
    |	И ПриемНаРаботу.Проведен = ИСТИНА";

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

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

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

Особенности заполнения Кода выполняемой функции (ОКЗ)

Проанализируем современные требования законодательства. С 2021 года ключевым элементом трудовой функции является код по ОКЗ (Общероссийский классификатор занятий). В 1С:ЗУП 3.1 структура справочника Трудовые функции включает в себя поле Код по ОКЗ.

Если вы заполняете данные "с нуля", рекомендуем придерживаться следующей стратегии:

  1. Сначала заполните справочник Классификатор занятий (ОКЗ) актуальными кодами.
  2. Создайте элементы в справочнике Трудовые функции, привязав их к кодам ОКЗ.
  3. Назначьте эти функции Должностям.
  4. Только после этого используйте массовое заполнение документов или штатного расписания.

Резюме: Мы рассмотрели три основных способа решения проблемы: заполнение через штатное расписание, групповое изменение кадровых документов и использование регистрационных документов. Выбор метода зависит от того, ведете ли вы историю штатного расписания и допустимо ли в вашей базе перепроведение документов прошлых периодов. В большинстве случаев комбинация заполнения справочника Должности и последующее обновление через Регистрацию трудовой деятельности является наиболее безопасным и эффективным путем.

← На главную