Как добавить новое основание увольнения в справочник 1С:ЗУП 3.1: пошаговое руководство

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

При ведении кадрового учета в программе «1С:Зарплата и управление персоналом 8» (редакция 3.1) пользователи часто сталкиваются с необходимостью кастомизации стандартных формулировок при увольнении сотрудников. При переходе на эту конфигурацию из других систем применяется подбор решений для переноса данных в 1С:ЗУП. Классический пример — оформление увольнения по собственному желанию в связи с выходом на пенсию (согласно пункту 3 части первой статьи 77 Трудового кодекса РФ).

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

---

Способ 1. Современное штатное решение (для релизов 1С:ЗУП 3.1.14.433 / 3.1.17.94 и новее)

Если ваша база регулярно обновляется, вам крупно повезло. Фирма «1С» полностью переработала данный механизм в новых версиях программы, добавив возможность ведения пользовательского списка оснований увольнения без изменения конфигурации. Для регулярного технического обслуживания автоматическое обновление и архивирование баз 1С запускается в тихом режиме по расписанию.

Рассмотрим по шагам, как задействовать этот функционал:

  1. Перейдем в раздел Настройка, далее выберем пункт Классификаторы, а затем откроем справочник Основания увольнения.
  2. В открывшемся окне мы увидим список предопределенных статей ТК РФ. Рядом с кнопкой создания нового элемента мы обнаружим возможность добавлять собственные записи.
  3. Нажмем кнопку Создать. Программа откроет карточку создания нового элемента справочника ОснованияУвольнения.
  4. В поле Наименование введем понятное для нас название, например: «п. 3 ч. 1 ст. 77 (выход на пенсию)».
  5. В поле Статья ТК РФ выберем регламентированную статью из классификатора. Это критически важно для корректного заполнения регламентированной отчетности.
  6. В поле Текст для приказа (Т-8) укажем формулировку: «Трудовой договор расторгнут по инициативе работника в связи с выходом на пенсию, пункт 3 части первой статьи 77 Трудового кодекса Российской Федерации».
  7. Сохраним элемент по кнопке Записать и закрыть.

При оформлении документа «Увольнение» в поле «Основание увольнения» теперь будет доступен наш новый пользовательский элемент. При этом в печатную форму приказа Т-8 и в трудовую книжку подставится именно наша детальная формулировка, а старые кадровые документы по увольнениям других сотрудников (по стандартному собственному желанию) останутся без изменений.

---

Способ 2. Редактирование текста для приказа в предопределенном элементе (с оценкой рисков)

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

Выясним, как это работает на практике:

  1. Откроем карточку стандартного основания п. 3 ч. 1 ст. 77.
  2. Установим флаг Нестандартное наименование и текст.
  3. Поля наименования и формулировок станут доступными для редактирования. Мы можем вручную дописать фразу «в связи с выходом на пенсию».

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

---

Способ 3. Программный метод через расширение (для старых релизов до 3.1.14)

Если вы работаете на устаревшем релизе конфигурации (например, 3.1.13.76, как упоминалось в обсуждении на форуме) и не имеете возможности оперативно обновиться, то штатного пользовательского справочника у вас нет. Нам придется реализовать задачу программно. Для перехода на актуальную версию программы без потери накопленных сведений выполняется перенос данных между базами 1С:ЗУП 3.

Попытка просто добавить новую строку в справочник ОснованияУвольнения в режиме «1С:Предприятие» не увенчается успехом, так как в старых версиях этот справочник жестко привязан к предопределенным элементам и обновляется поставляемыми данными из специального XML-макета. При любом обновлении базы или запуске регламентного задания ваши ручные записи будут удалены либо заменены начальными значениями.

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

Шаг 1. Создание расширения конфигурации

Откроем конфигуратор, перейдем в меню Конфигурация — Расширения конфигурации. Создадим новое расширение, снимем галочки «Безопасный режим» и «Защита от опасных действий» (это необходимо для корректной работы с метаданными).

Шаг 2. Перенос макета в расширение

В основной конфигурации найдем справочник ОснованияУвольнения. В его ветке найдем макет с именем ОснованияУвольненияПоТКРФ. Этот макет представляет собой XML-таблицу, содержащую все официальные статьи Трудового кодекса.

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

  1. Выгрузим макет ОснованияУвольненияПоТКРФ из основной конфигурации в XML-файл на жесткий диск.
  2. В нашем расширении добавим новый макет в справочник ОснованияУвольнения с точно таким же именем ОснованияУвольненияПоТКРФ и типом «Двоичные данные» (или «Текстовый документ» в зависимости от исходного типа).
  3. Загрузим сохраненные ранее XML-данные в созданный макет расширения. Теперь этот макет доступен нам для полного редактирования!

Шаг 3. Добавление новой строки в XML-структуру макета

Откроем наш макет в расширении и добавим туда новую строку, описывающую наше кастомное основание. Структура XML-записи выглядит следующим образом:


<Row>
    <Ref>УвольнениеПоСобственномуЖеланиюПенсия</Ref>
    <Article>п. 3 ч. 1 ст. 77</Article>
    <Paragraph>3</Paragraph>
    <Part>1</Part>
    <Item>77</Item>
    <Description>в связи с выходом на пенсию</Description>
    <FullDescription>Трудовой договор расторгнут по инициативе работника в связи с выходом на пенсию, пункт 3 части первой статьи 77 Трудового кодекса Российской Федерации</FullDescription>
</Row>

Обязательно укажите уникальное имя в теге <Ref>, чтобы система идентифицировала вашу запись как новую.

Шаг 4. Перехват процедуры заполнения справочника

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

Для этого в модуле менеджера справочника ОснованияУвольнения нашего расширения перехватим процедуру заполнения (например, ВосстановитьНачальныеЗначения или аналогичную ей процедуру обновления данных) при помощи аннотации &Вместо.

Посмотрим на пример реализации такого кода:


&Вместо("ПолучитьМакетОснований")
Функция Расш1_ПолучитьМакетОснований()
    // Принудительно возвращаем макет, отредактированный в нашем расширении
    Возврат Справочники.ОснованияУвольнения.ПолучитьМакет("ОснованияУвольненияПоТКРФ");
КонецФункции

После успешной компиляции расширения запустим сеанс «1С:Предприятие», перейдем в справочник оснований увольнений и выполним команду Восстановить начальные значения. Программа обратится к переопределенному нами макету из расширения, считает новую XML-строку и успешно создаст новый элемент в справочнике.

---

Особенности интеграции с отчетностью ЕФС-1 (ранее СЗВ-ТД)

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

Рассмотрим, как обеспечить сдачу отчетности без ошибок:

← На главную