При переходе на программу 1С:Зарплата и управление персоналом 3.1 (ЗУП 3.1) из более старых систем (например, 1С:ЗиК 7.7) кадровые специалисты часто сталкиваются со специфической проблемой. Перенос данных в таких случаях выполняется с помощью документа Начальная штатная расстановка. Этот документ фиксирует актуальные должности, плановые начисления, графики работы и остатки отпусков, однако в нем физически отсутствуют поля для указания номеров и дат трудовых договоров сотрудников.
Когда возникает необходимость распечатать трудовой договор или внести изменения в кадровые данные, пользователи пытаются воспользоваться документом Кадровый перевод. Однако на вкладке «Трудовой договор» они обнаруживают, что поля для ввода номера и даты договора скрыты или недоступны для редактирования. В этой статье мы подробно разберем, почему программа ведет себя именно так, и рассмотрим рабочие способы корректного ввода исторических данных о договорах в информационную базу.
С точки зрения методологии кадрового учета, заложенной разработчиками фирмы 1С, трудовой договор заключается с сотрудником ровно один раз — при приеме на работу. Следовательно, его номер и дата являются неизменными первичными реквизитами, которые жестко привязываются к первому кадровому событию. Любые последующие изменения условий труда (изменение оклада, перевод на другую должность или в другое подразделение) оформляются в виде дополнительных соглашений, но сам номер договора оставаться прежним.
В конфигурации 1С:ЗУП 3.1 (особенно в версии ПРОФ) программная логика формы документа Кадровый перевод скрывает эти реквизиты. Возможность их редактирования предусмотрена в основном для версии КОРП (или государственных учреждений), где практикуется смена видов контрактов (например, переход с обычного трудового договора на контракт государственного служащего). При активации флага «Смена вида договора» эти поля становятся видимыми на форме, но для коммерческих организаций в версии ПРОФ этот функционал отключен.
Более того, анализ движений документов показывает, что документ Кадровый перевод физически не делает записей в регистр сведений ОсновныеДанныеКонтрактаДоговораСотрудника, где хранятся номер и дата договора. Он делает записи только в регистр СведенияКонтрактаДоговораСотрудника (сроки действия, дополнительные условия). Таким образом, даже если принудительно вывести эти поля на форму с помощью доработки, программа не запишет данные в нужный регистр при проведении перевода.
Рассмотрим, как решить эту задачу в рамках типового функционала без снятия конфигурации с поддержки.
Это наиболее простой и быстрый способ ввести недостающие сведения о трудовом договоре непосредственно из пользовательского интерфейса, не прибегая к программированию или сложным техническим манипуляциям.
Разберем процесс по шагам:
Договор № и от.Этот документ делает корректную запись в регистр сведений ОсновныеДанныеКонтрактаДоговораСотрудника. После его проведения в личной карточке сотрудника и во всех отчетах будут правильно отображаться введенные номер и дата.
Если сотрудников много и вносить данные по каждому вручную через «Продление контрактов» слишком трудоемко, лучшим выходом будет использование универсального технического документа Перенос данных. Этот способ отлично подходит для группового импорта информации (например, при загрузке данных из внешнего файла Excel).
Проанализируем структуру данных, которую нам необходимо заполнить:
// Для корректного отражения договора в системе требуется заполнить три регистра:
1. РегистрСведений.ОсновныеДанныеКонтрактаДоговораСотрудника (номер и дата договора)
2. РегистрСведений.СведенияКонтрактаДоговораСотрудника (срочность, условия)
3. РегистрСведений.РеестрКадровыхПриказов (для корректного вывода приказов в форму Т-2)
Рассмотрим порядок действий для ручного заполнения:
Основные данные контракта, договора сотрудника, Сведения контракта, договора сотрудника и Реестр кадровых приказов.После проведения документа Перенос данных кадровые регистры будут заполнены так, словно в базе присутствуют полноценные документы приема на работу.
После заполнения регистров кадровики часто пробуют распечатать «Трудовой договор (микропредприятий)» прямо из карточки сотрудника и сталкиваются с тем, что программа выводит пустые поля вместо номера и даты договора.
Выясним причину этой проблемы:
В типовом программном коде 1С:ЗУП 3.1 алгоритм формирования печатных форм трудовых договоров реализован таким образом, что он обращается напрямую к реквизитам физического документа-основания — Прием на работу. Программа игнорирует записи в регистрах сведений при формировании этой печатной формы. Поскольку сотрудники были внесены через Начальную штатную расстановку, документа приема в системе нет, и данные для печати не подтягиваются.
Попытка создать «фиктивные» документы Прием на работу прошедшей датой при наличии Начальной штатной расстановки приведет к ошибкам проведения из-за двоения кадровой истории одного и того же сотрудника.
Единственным правильным решением в данной ситуации является использование внешней печатной формы (ВПФ). Нам потребуется обратиться к программисту или найти готовую внешнюю обработку, которая переопределяет алгоритм получения данных для печати.
Проанализируем пример кода, который должен использоваться во внешней печатной форме для получения номера и даты договора из регистра сведений в обход документа приема:
Функция ПолучитьДанныеДоговораИзРегистра(Сотрудник, ДатаСреза) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ОсновныеДанные.НомерДоговора КАК НомерДоговора,
| ОсновныеДанные.ДатаДоговора КАК ДатаДоговора
|ИЗ
| РегистрСведений.ОсновныеДанныеКонтрактаДоговораСотрудника КАК ОсновныеДанные
|ГДЕ
| ОсновныеДанные.Сотрудник = &Сотрудник
| И ОсновныеДанные.Период <= &ДатаСреза";
Запрос.УстановитьПараметр("Сотрудник", Сотрудник);
Запрос.УстановитьПараметр("ДатаСреза", ДатаСреза);
Выборка = Запрос.Выполнить().Выбрать();
СтруктураДанных = Новый Структура("Номер, Дата", "", Неопределено);
Если Выборка.Следующий() Тогда
СтруктураДанных.Номер = Выборка.НомерДоговора;
СтруктураДанных.Дата = Выборка.ДатаДоговора;
КонецЕсли;
Возврат СтруктураДанных;
КонецФункции
Такая внешняя печатная форма легко подключается к информационной базе через меню Администрирование — Печатные формы, отчеты и обработки — Дополнительные отчеты и обработки. При ее использовании шаблоны договоров будут заполняться корректно для всех сотрудников, включая тех, у кого нет первичного документа приема на работу в программе.
Мы проанализировали особенности работы программы 1С:ЗУП 3.1 с историческими данными трудовых договоров. Для успешного ведения учета и формирования кадровой отчетности:
Кадровый перевод для внесения первичного номера и даты договора — его форма и внутренняя логика проведения для этого не предназначены.Продление контрактов, договоров для точечного ручного ввода сведений по отдельным сотрудникам.Перенос данных для массового заполнения регистров сведений, если кадровый перенос выполнялся через «Начальную штатную расстановку».