Как сформировать график отпусков за прошлый год в 1С:Зарплата и управление персоналом 3.1?

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

При ведении кадрового учета в программе 1С:Зарплата и управление персоналом (ЗУП) редакции 3.1 пользователи часто сталкиваются с необходимостью восстановить документы за прошлые периоды. Одной из таких задач является формирование документа График отпусков, например, за 2018 год, когда текущий рабочий период уже давно ушел вперед. Основная сложность заключается в том, что система при создании нового документа по умолчанию ориентируется на текущую дату и текущий календарный год, из-за чего автоматическое заполнение может работать некорректно.

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

Анализ производственного календаря

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

Выполним следующие шаги для проверки:

  1. Перейдем в раздел Настройка — Производственные календари.
  2. Откроем используемый в организации календарь (например, «Российская Федерация»).
  3. В поле выбора года установим 2018.
  4. Если данные отсутствуют или помечены как неактуальные, нажмем кнопку Заполнить по умолчанию.
  5. Обязательно нажмем Записать и закрыть.

Проанализируем техническую сторону: при записи производственного календаря данные попадают в регистр сведений Данные производственного календаря. Без записей в этом регистре за 2018 год документ График отпусков не сможет определить, какие дни периода являются рабочими, а какие — праздничными, что приведет к ошибкам в заполнении табличной части.

Влияние даты документа на автоматическое заполнение

Одной из главных причин, по которой программа «подтягивает» 2019 или текущий год вместо 2018-го, является значение в поле Дата в шапке документа. В системе 1С заложен алгоритм: период планирования определяется исходя из даты самого документа.

Рассмотрим правила установки даты для корректного формирования формы Т-7:

Согласно законодательству, график отпусков должен быть утвержден за две недели до начала календарного года. Таким образом, для графика на 2018 год идеальной датой документа будет, например, 15.12.2017. Если мы установим дату документа в 2024 году, система будет ожидать планирования на 2024–2025 годы.

Алгоритм действий:

  1. Создаем новый документ График отпусков.
  2. Сразу устанавливаем дату в шапке — декабрь 2017 года.
  3. Записываем документ (без проведения).
  4. Только после этого приступаем к заполнению табличной части.

Методы заполнения табличной части

Разберем способы наполнения документа данными. Если сотрудники уже отгуляли свои отпуска в 2018 году и в базе есть проведенные документы Отпуск, нам не нужно вносить данные вручную. Мы можем воспользоваться механизмом подбора фактических данных.

В современных версиях ЗУП 3.1 кнопка Заполнить имеет подменю. Нас интересует опция Заполнить по фактическим отпускам (если она доступна в вашей сборке) или стандартное заполнение. Однако, если стандартная кнопка не видит данные, проанализируем ситуацию: система ищет «плановые» остатки. В случае с прошлым периодом эффективнее использовать ручное добавление сотрудников или механизм Подбор.

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

Работа с регистрами сведений

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

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

  1. Зайти в меню Функции для технического специалиста (ранее — «Все функции»).
  2. Найти регистр сведений Плановые ежегодные отпуска.
  3. Сделать отбор по периоду (2018 год) и проверить наличие записей от нашего документа.

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

Дата запрета изменения и права доступа

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

Если вы пытаетесь создать график за 2018 год в 2024 году, а дата запрета стоит на 31.12.2023, система заблокирует проведение документа с датой 2017 года.

Как решить проблему:

  1. Перейти в раздел Администрирование — Поддержка и обслуживание — Дата запрета изменения.
  2. Временно отключить дату запрета или перенести её на более ранний период (например, на 2016 год).
  3. Провести документ График отпусков.
  4. Вернуть дату запрета в исходное состояние.

Использование внешней обработки как альтернатива

Если ваша задача — исключительно получение печатной формы Т-7 для архива или проверки, и вы не хотите «ворошить» данные в регистрах прошлых лет, рассмотрим вариант с внешней обработкой.

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


// Пример логики выборки данных для внешней печатной формы
Запрос = Новый Запрос;
Запрос.Текст = 
"ВЫБРАТЬ
|   Отпуск.Сотрудник КАК Сотрудник,
|   Отпуск.ДатаНачала КАК ДатаНачала,
|   Отпуск.ДатаОкончания КАК ДатаОкончания
|ИЗ
|   Документ.Отпуск КАК Отпуск
|ГДЕ
|   Отпуск.ДатаНачала МЕЖДУ &НачалоПериода И &КонецПериода
|   И Отпуск.Проведен = ИСТИНА";

Запрос.УстановитьПараметр("НачалоПериода", '20180101');
Запрос.УстановитьПараметр("КонецПериода", '20181231');
РезультатЗапроса = Запрос.Выполнить();

Такой подход безопаснее для целостности данных, так как он не влияет на расчет остатков отпусков в текущем периоде.

Резюме и рекомендации

Подводя итог, можно сказать, что формирование графика отпусков «задним числом» — задача вполне решаемая стандартными средствами 1С:ЗУП 3.1. Главное — соблюдать последовательность: Календарь -> Дата документа -> Отключение даты запрета -> Заполнение.

Ключевые моменты для запоминания:

Таким образом, мы обеспечим корректное хранение истории кадрового учета и сможем в любой момент распечатать унифицированную форму Т-7 за 2018 год, которая будет полностью соответствовать фактическим данным системы.

← На главную