Документ «Сбор графиков отпусков»

Организует ежегодную кампанию по сбору сведений о планируемых отпусках сотрудников и формирует основу графика отпусков организации — обязательного документа по трудовому законодательству РК.

ЗУП для Казахстана, ред. 3.1 · v3.1.2.24 · обновлено 2026-06

🎯 Что это и зачем

Статья 95 Трудового кодекса РК обязывает работодателя составлять и утверждать график отпусков не позднее чем за месяц до начала каждого года. Документ «Сбор графиков отпусков» — инструмент этой подготовки: он запускает кампанию сбора, фиксирует её жизненный цикл (запущена → заполнена → завершена / аннулирована) и накапливает результат в табличной части Сотрудники с периодами планируемых отпусков (даты начала, окончания, количество дней) для каждого работника.

Казахстанской расчётной специфики (ИПН, ОПВ, ОПВР, СО, ВОСМС/ООСМС, единый платёж) этот документ не содержит — он не делает движений по регистрам и не начисляет никаких сумм. Его роль — носитель состояния процесса и собранных кадровых данных. Механизм унаследован из российской типовой ЗУП 3.1, но применяется в РК без изменений, поскольку обязательность графика отпусков закреплена казахстанским ТК.

Кто работает: инспектор по кадрам / HR-специалист, как правило один раз в год — в октябре–ноябре при подготовке графика на следующий год.

🧭 Где найти в программе

Раздел «Кадры» → пункт «Сбор графиков отпусков». Откроется журнал документов; новый создаём кнопкой «Создать».

📌 Заметка. Точное расположение пункта в меню зависит от настроек интерфейса и прав пользователя. Если в разделе «Кадры» пункта нет — воспользуйтесь поиском через «Все функции» или обратитесь к администратору. В конфигурации объект не содержит описания форм (forms=[] в карте), поэтому открывается стандартной формой списка/документа.

👤 Часть 1. Для пользователя

Проходим по шагам: от пустой кампании до завершённого графика отпусков.

Урок 1. Запуск кампании сбора графиков на год

Когда: конец текущего года; HR-служба начинает готовить график отпусков на следующий год. Это корневой документ кампании.

  1. Создаём новый документ «Сбор графиков отпусков» кнопкой «Создать».
  2. Указываем Год — год, на который собираются отпуска (например, 2027). Это ключевое поле кампании; без него документ лишён смысла.
  3. Если сбор ведётся по всей организации сразу (без разбивки по подразделениям) — поле Подразделение оставляем пустым; если по конкретному подразделению — выбираем его.
  4. Заполняем ИнициаторСбора — физлицо, запустившее кампанию (обычно сотрудник кадровой службы).
  5. Заполняем ОтветственныйЗаСбор — физлицо, отвечающее за сбор данных.
  6. Записываем документ; далее командой формы (точный вид команды зависит от UI) запускаем сбор — флаг СборЗапущен должен принять значение Истина, Состояние перейдёт в начальную стадию.
Скриншот: шапка нового документа «Сбор графиков отпусков»
Шапка документа: поля Год, Подразделение, ИнициаторСбора, ОтветственныйЗаСбор и кнопка запуска сбора.
💡 Подсказка. Реквизит Год имеет тип xs:decimal (число), не дату — вводите просто цифры года. Поле КорневойСборГрафиков у корневого документа остаётся пустым: именно пустое значение является признаком корневой кампании.
⚠️ Важно. На уровне метаданных ни одно поле не отмечено обязательным (все реквизиты DontCheck), однако документ без заполненного Года не несёт смысловой нагрузки. Статусные флаги (СборЗапущен, СборЗавершен, СборАннулирован) и поле Состояние управляются механизмом процесса — не выставляйте их вручную, используйте команды формы.

Урок 2. Каскадный сбор по подразделениям

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

  1. Создаём корневой документ по инструкции Урока 1; поле Подразделение оставляем пустым, КорневойСборГрафиков — тоже пустым.
  2. Запускаем корневой сбор командой формы.
  3. Для каждого подразделения создаём дочерний документ: указываем Год (тот же), заполняем Подразделение, а в поле КорневойСборГрафиков ссылаемся на корневой документ — это и есть признак дочернего сбора.
  4. Назначаем ОтветственныйЗаСбор — руководителя или кадровика подразделения.
  5. Запускаем дочерний сбор; ответственный за подразделение наполняет ТЧ Сотрудники.
  6. После завершения всех дочерних сборов корневой документ агрегирует итог (точная механика агрегации в карте не определена).
⚠️ Важно. Не перепутайте корневой и дочерний документы — их различает заполненность поля КорневойСборГрафиков. При автоматизации сначала создавайте корневой документ, затем дочерние.
💡 Подсказка. Поле Подразделение — составной тип: принимает как ПодразделенияОрганизаций, так и СтруктураПредприятия. Используйте тот справочник, который соответствует вашей настройке структуры.

Урок 3. Внесение планируемых отпусков сотрудников

Когда: кампания запущена (СборЗапущен = Истина, СборЗавершен = Ложь); ответственный за подразделение заполняет периоды отпусков.

  1. Открываем документ сбора своего подразделения.
  2. Переходим на вкладку / в табличную часть «Сотрудники».
  3. Для каждого работника добавляем строку: заполняем ФизическоеЛицо (актуальная колонка идентификации), ДатаНачала, ДатаОкончания и КоличествоДней.
  4. Если у сотрудника несколько частей отпуска (по ст. 95 ТК РК отпуск может делиться) — добавляем несколько строк с одним и тем же ФизическоеЛицо.
  5. Записываем документ; поле КоличествоСотрудников в шапке отражает охват (порядок его пересчёта в карте не определён).
⚠️ Важно. Используйте для идентификации работника колонку ФизическоеЛицо; колонка УдалитьСотрудник — устаревшая (префикс «Удалить» означает пометку к удалению в типовой), не полагайтесь на неё. Согласованность КоличествоДней с интервалом дат метаданными не проверяется — считайте дни самостоятельно и проверяйте перед сохранением.
💡 Подсказка. Минимальная продолжительность ежегодного оплачиваемого отпуска по ТК РК — 24 календарных дня (ст. 88). При разбивке на части одна из них не может быть менее 14 дней (ст. 95 ТК РК). Проверяйте эти нормы вручную — документ их не контролирует.

Урок 4. Завершение и аннулирование сбора

Сценарий А — Завершение: все подразделения внесли данные, кампания закрывается.

  1. Ответственный за сбор проверяет полноту ТЧ Сотрудники — охвачены ли все работники.
  2. Командой формы завершает кампанию; флаг СборЗавершен становится Истина, Состояние переходит в финальную стадию (конкретные значения перечисления в карте не приведены).
  3. Собранные данные используются кадровой службой для формирования и утверждения графика отпусков организации.

Сценарий Б — Аннулирование: кампания запущена ошибочно или отменена решением руководства.

  1. Уполномоченный пользователь аннулирует сбор командой формы.
  2. Автоматически устанавливаются: СборАннулирован = Истина, ДатаАннулирования (момент отмены) и ОтветственныйЗаАннулирование (пользователь ИБ).
  3. История кампании сохраняется — документ не удаляется.
📌 Заметка. Флаги «завершён» и «аннулирован» теоретически могут оказаться оба в Истина — платформенных взаимоисключений нет. На практике это недопустимо; следите за корректностью через Состояние (перечисление СостоянияСбораГрафиковОтпусков), которое должно отражать текущую стадию однозначно.

🛠 Часть 2. Для программиста

Состав объекта и логика работы. Конфигурация ЗУП для Казахстана 3.1, релиз 3.1.2.24.

Структура объекта

Тип объекта — документ. Нумерация: тип номера String, длина 11, периодичность Nonperiodical (сквозная, не сбрасывается по году). В шапке 16 реквизитов, 2 табличные части; BSL-модули и формы в выгрузке отсутствуют (bsl_static=[], forms=[]).

Реквизиты шапки

ИмяТипОбяз.Назначение
Годxs:decimalDontCheckГод кампании сбора; логически обязательно — без него кампания не имеет смысла
СборЗапущенxs:booleanDontCheckФлаг: кампания стартовала
СборЗавершенxs:booleanDontCheckФлаг: данные собраны, кампания закрыта
СборАннулированxs:booleanDontCheckФлаг: кампания отменена
ПодразделениеCatalogRef.ПодразделенияОрганизаций / CatalogRef.СтруктураПредприятия (составной)DontCheckОбласть охвата сбора; в дочерних документах каскада обязательно заполнен
СостояниеEnumRef.СостоянияСбораГрафиковОтпусковDontCheckТекущая стадия процесса; управляется механизмом сбора, не вручную
КорневойСборГрафиковDocumentRef.СборГрафиковОтпусковDontCheckСсылка на корневую кампанию; пустое значение = документ сам корневой
ИнициаторСбораCatalogRef.ФизическиеЛицаDontCheckФизлицо, запустившее кампанию
ОтветственныйЗаСборCatalogRef.ФизическиеЛицаDontCheckФизлицо, отвечающее за сбор данных по подразделению
КоличествоСотрудниковxs:decimalDontCheckЧисло сотрудников, охваченных сбором; источник значения (ручной/расчётный) не определён
ДатаАннулированияxs:dateTimeDontCheckДата/время аннулирования; заполняется вместе с СборАннулирован
ОтветственныйЗаАннулированиеCatalogRef.ПользователиDontCheckПользователь ИБ, выполнивший аннулирование; аудиторский след
Внешнийxs:booleanDontCheckДанные пришли из внешней системы (самообслуживание/обмен)
ИдентификаторДокументаxs:stringDontCheckСтроковый ключ для сопоставления с внешней системой; используется в паре с Внешний
ОтветственныйCatalogRef.ПользователиDontCheckСтандартный реквизит «кто ведёт документ в ИБ»
Комментарийxs:stringDontCheckПроизвольный комментарий

Табличные части

ТЧ Сотрудники — основной результат сбора: список работников и планируемые периоды отпусков.

ИмяТипНазначение
УдалитьСотрудникCatalogRef.СотрудникиУстаревшая колонка (синоним «Сотрудник»); префикс «Удалить» = пометка к удалению в типовой; не использовать для идентификации
ФизическоеЛицоCatalogRef.ФизическиеЛицаАктуальная идентификация работника в строке — заполнять именно эту колонку
ДатаНачалаxs:dateTimeНачало планируемого отпуска
ДатаОкончанияxs:dateTimeОкончание планируемого отпуска
КоличествоДнейxs:decimalКоличество дней отпуска в периоде; согласованность с интервалом дат не контролируется

ТЧ ДополнительныеРеквизиты — стандартный механизм доп. реквизитов (подсистема «Свойства» БСП).

ИмяТипНазначение
СвойствоChartOfCharacteristicTypesRef.ДополнительныеРеквизитыИСведенияВид дополнительного реквизита
Значение(Характеристика)Значение свойства
ТекстоваяСтрокаxs:stringТекстовое представление значения

Движения по регистрам

По данным карты (metadata.register_records пуст) документ не делает движений ни по одному регистру. Проведение меняет только флаги и поле Состояние в самом документе — никаких записей в регистры расчёта, накопления или сведений не создаётся.

📌 Это нормально. «Сбор графиков отпусков» — процессный документ-носитель состояния. Расчётные объекты (начисления ОПВ/ОПВР, ИПН, ВОСМС и пр.) возникают позднее — при проведении фактических документов «Отпуск» и «Начисление зарплаты».

Как формируется проведение — реальный код (3.1.2.24)

⚠️ Важно об источнике. В использованной XML-выгрузке конфигурации модули объекта и форм отсутствуют (bsl_static / bsl_summaries пусты), поэтому дословный текст процедур привести невозможно. Ниже — реконструкция по метаданным: это не цитата исходного кода, а корректная по структуре схема работы документа.

На уровне метаданных ни у одного реквизита нет fill_value_required: ShowError — платформенная проверка заполнения не назначена ни для одного поля. Все проверки — исключительно прикладные (в модуле объекта, который в выгрузке отсутствует).

// Реконструкция по metadata. НЕ цитата кода.
// Документ не является регистратором ни одного регистра (register_records=[]).
// Проведение управляет только состоянием самого документа.

Процедура ОбработкаПроведения(Отказ, РежимПроведения)

    // 1. Управление флагами жизненного цикла:
    //    СборЗапущен / СборЗавершен / СборАннулирован
    //    и перечислением Состояние (EnumRef.СостоянияСбораГрафиковОтпусков).
    //    Конкретные переходы состояний — в модуле объекта (в выгрузке нет).

    // 2. При аннулировании:
    //    СборАннулирован  = Истина;
    //    ДатаАннулирования = ТекущаяДатаВремя();
    //    ОтветственныйЗаАннулирование = ТекущийПользователь();

    // 3. Движений по регистрам НЕТ — Движения.Записать() не вызывается
    //    (register_records пуст).

КонецПроцедуры

Зависимости

BSL-зависимости в выгрузке не определены. Структурно объект связан:

ЗависимостьЧто используется
СправочникиФизическиеЛица, Пользователи, Сотрудники (в ТЧ), ПодразделенияОрганизаций, СтруктураПредприятия
ПеречислениеСостоянияСбораГрафиковОтпусков — стадии процесса (значения в карте не приведены)
Документ (самоссылка)СборГрафиковОтпусков — поле КорневойСборГрафиков образует иерархию кампаний
ПВХ (БСП)ДополнительныеРеквизитыИСведения — подсистема доп. реквизитов
Документы-основанияНет (metadata.based_on пуст)
Создаётся на основанииНет (metadata.inverse_based_on пуст)

🔗 Связанные разделы