Документ «Индивидуальный график»

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

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

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

Когда плановый график работы не подходит конкретному сотруднику — из-за неполного рабочего времени, скользящего режима, индивидуальной ротации смен или разовой точечной корректировки на месяц — кадровик или табельщик вводит документ «Индивидуальный график». По каждому дню периода указываются часы работы, вид использования рабочего времени (явка, ночные и т. п.) и, при сменном режиме, конкретная смена. Плановый график при этом замещается: табельный расчёт строится именно по индивидуальным данным.

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

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

📌 Расположение в меню. Раздел «Кадры» → пункт «Индивидуальный график». Откроется журнал документов; новый документ создаётся кнопкой «Создать». Если пункт не виден — обратитесь к настройкам прав доступа или ищите через «Все функции».

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

Три сценария: стандартный помесячный, сменный и групповой/корректировочный.

Урок 1. Индивидуальный график сотрудника на месяц

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

  1. Создайте новый документ «Индивидуальный график».
  2. Заполните обязательную шапку: Организация, Дата начала периода, Дата окончания периода, Период ввода данных о времени (значения перечисления смотрите на форме). При необходимости укажите Подразделение (помогает при подборе сотрудников) и Период регистрации.
  3. В табличной части «Данные о времени» добавьте строку и выберите Сотрудника.
  4. По каждому рабочему дню периода заполните Часов(N) — количество часов за день N (суффикс = число месяца, например Часов17 = 17-е число). Допустимы десятичные значения (7.5).
  5. Для каждого заполненного дня укажите ВидВремени(N) — вид из справочника «Виды использования рабочего времени». Пары «часы — вид» должны быть согласованы: не оставляйте часы без вида и наоборот.
  6. Проведите документ.
Скриншот: табличная часть «Данные о времени» с заполненными колонками по дням
Матрица «сотрудник × 31 день»: каждый день — отдельная колонка Часов(N) и ВидВремени(N).
💡 Подсказка.» Колонки сверх периода оставляйте пустыми. Например, для периода 01–28 февраля колонки Часов29, Часов30, Часов31 не заполняются. Аналогично — для дней вне границ Дата начала … Дата окончания.
⚠️ Обязательные поля шапки (без них «Провести» выдаст ошибку): Организация, Дата начала периода, Дата окончания периода, Период ввода данных о времени. Убедитесь, что все четыре заполнены до попытки провести документ.

Урок 2. Сменный индивидуальный график (с переходящими сменами)

Когда: сотрудник работает по сменам — в том числе с ночными и переходящими через полночь — и смены назначаются индивидуально, отдельно от общего графика.

  1. Создайте документ и заполните обязательную шапку (см. Урок 1).
  2. Установите флаг «График сменности» = Истина — это открывает работу с табличной частью «Смены».
  3. В ТЧ «Смены» добавьте строку по сотруднику. По дням периода укажите Смена(N) — ссылку на смену из справочника «Смены работы сотрудников».
  4. Для переходящих смен: флаг ОтражатьЧасыВДеньНачалаСмены(N) = Истина означает, что все часы смены, начавшейся в день N, учитываются именно в день N (а не в день окончания смены).
  5. В ТЧ «Данные о времени» по той же строке (тот же сотрудник) заполните или проверьте Часов(N) и ВидВремени(N). Для «хвостовой» части смены, начатой накануне, поставьте флаг ПереходящаяЧастьСмены(N) = Истина.
  6. Проведите документ.
⚠️ Тройная согласованность: по каждому дню N тройка Смена(N) — Часов(N) — флаги переходящей смены должна быть логически единой. Рассинхрон ведёт к некорректному табелю: смена есть, а часов нет, или часы без привязки к смене.
💡 Правило переходящей смены: если смена 22:00–06:00 занесена на день N, ночные часы до полуночи = день N, часы после полуночи = день N+1 с флагом ПереходящаяЧастьСмены(N+1). Флаг ОтражатьЧасыВДеньНачалаСмены(N) в ТЧ «Смены» позволяет альтернативно учесть всё в дне начала смены.

Урок 3. Исправление и групповой ввод

Когда: нужно либо ввести графики сразу на нескольких сотрудников, либо исправить уже проведённый документ в закрытом периоде.

  1. Групповой ввод. Заполните шапку (Организация, период, Период ввода данных о времени), при необходимости — Подразделение для удобства подбора. В ТЧ «Данные о времени» добавьте по строке на каждого сотрудника и заполните дни для каждого. После проведения движения по регистрам формируются сразу по всем сотрудникам документа. Колонка-сводка «Сотрудники» (реквизит шапки «КраткийСоставДокумента») заполнится программно — вручную не редактируйте.
  2. Исправление. Если период уже рассчитан, не правьте исходный документ задним числом — создайте новый «Индивидуальный график», убедитесь, что реквизит «Исправленный документ» ссылается на исправляемый документ. Табличная часть «Сотрудники с исправлениями» заполнится программно. Введите правильные данные по дням и проведите.
⚠️ Не редактируйте уже рассчитанный период напрямую. Документ пишет в регистры табельного учёта, от которых зависит расчёт зарплаты (и далее ИПН/ОПВ/СО/ВОСМС). Перепроведение меняет остатки и обороты — используйте механизм исправления через новый документ.
📌 Для поиска нужного документа в журнале ориентируйтесь на колонку «Сотрудники» (КраткийСоставДокумента) — программа автоматически заполняет её списком сотрудников документа.

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

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

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

Тип объекта — документ. Нумерация: тип номера String, длина 11, периодичность Year. В шапке 11 реквизитов, 5 табличных частей. Особенность: «дневные» ТЧ построены как матрица «сотрудник × 31 день» — данные каждого дня месяца лежат в отдельной нумерованной колонке (суффикс 1…31 = число месяца).

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

ИмяТипОбяз.Назначение
ОрганизацияСправочникСсылка.ОрганизацииДаОрганизация, по сотрудникам которой вводится график; определяет состав доступных сотрудников
ДатаНачалаПериодаДатаДаНачало периода действия индивидуального графика
ДатаОкончанияПериодаДатаДаКонец периода; вместе с ДатаНачалаПериода определяет, какие колонки-дни (1…31) осмысленны
ПериодВводаДанныхОВремениПеречислениеСсылка.ПериодыВводаДанныхОВремениДаРежим трактовки вводимого периода; значения перечисления считывать с формы — в метаданных не выгружены
ПериодРегистрацииДатаНетМесяц регистрации данных; важен при исправлениях в закрытых периодах
ПодразделениеСправочникСсылка.ПодразделенияОрганизацийНетПодразделение для отбора при подборе сотрудников
ГрафикСменностиxs:booleanНетПризнак сменного графика — переключает работу с ТЧ «Смены»
ИсправленныйДокументДокументСсылка.ИндивидуальныйГрафикНетСсылка на исправляемый документ того же вида; в связке с ТЧ «СотрудникиСИсправлениями»
КраткийСоставДокументаxs:string (синоним «Сотрудники»)НетПрограммная сводка состава сотрудников для журнала; вручную не редактировать
ОтветственныйСправочникСсылка.ПользователиНетПользователь, ответственный за документ
Комментарийxs:stringНетПроизвольный комментарий

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

ТЧ «ДанныеОВремени» (синоним «Данные о времени») — главная. 94 колонки: Сотрудник + три группы по 31 нумерованной колонке.

Имя (шаблон, N = 1…31)ТипНазначение
СотрудникСправочникСсылка.СотрудникиСотрудник — ключ строки матрицы
Часов1 … Часов31xs:decimalКоличество часов за день N; десятичные значения допустимы (7.5)
ВидВремени1 … ВидВремени31СправочникСсылка.ВидыИспользованияРабочегоВремениВид использования рабочего времени за день N; парный к Часов(N)
ПереходящаяЧастьСмены1 … ПереходящаяЧастьСмены31xs:booleanПризнак «хвоста» смены, начатой накануне; используется при сменном режиме

ТЧ «Смены» — активна при ГрафикСменности = Истина. 63 колонки: Сотрудник + две группы по 31.

Имя (шаблон, N = 1…31)ТипНазначение
СотрудникСправочникСсылка.СотрудникиСотрудник
Смена1 … Смена31СправочникСсылка.СменыРаботыСотрудниковСмена, назначенная на день N
ОтражатьЧасыВДеньНачалаСмены1 … ОтражатьЧасыВДеньНачалаСмены31xs:booleanОтносить ли часы переходящей смены целиком к дню её начала

ТЧ «СотрудникиСИсправлениями» (синоним «Сотрудники с исправлениями») — служебная: список сотрудников, по которым документ исправляет данные; заполняется программно, вручную не редактировать.

ИмяТипНазначение
СотрудникСправочникСсылка.СотрудникиСотрудник, чьи данные исправляются

ТЧ «ФизическиеЛица» — служебная: физические лица документа для типовых механизмов; заполняется программно.

ИмяТипНазначение
ФизическоеЛицоСправочникСсылка.ФизическиеЛицаФизическое лицо, затронутое документом

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

ИмяТипНазначение
СвойствоПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведенияВид дополнительного свойства
Значение(составной)Значение свойства
ТекстоваяСтрокаxs:stringТекстовое представление значения
📌 Формы. Metadata.forms в выгрузке пусты — точные имена элементов формы определяются в UI. По структуре ТЧ ожидается форма с «шахматкой» дней по сотрудникам (матрица); агент должен определять имена колонок по точному суффиксу N.

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

Документ объявлен регистратором по 2 регистрам накопления (из metadata.register_records).

РегистрТипНазначение
ДанныеИндивидуальныхГрафиковСотрудниковНакопленияХранит сам индивидуальный график: данные по дням и часам — основание для замещения планового графика
ДанныеТабельногоУчетаРабочегоВремениСотрудниковНакопленияТабельный учёт отработанного рабочего времени; от этих данных строится повременное начисление зарплаты

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

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

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

Обязательность реквизитов шапки (из fill_value_required: ShowError) — то, что платформа проверяет автоматически перед записью:

// Реконструкция по metadata: 4 реквизита с проверкой заполнения (ShowError).
// Платформа проверяет их перед записью; имена — дословно из метаданных.
ПроверяемыеРеквизиты =
    "Организация, ДатаНачалаПериода, ДатаОкончанияПериода,
     ПериодВводаДанныхОВремени";
// Дополнительные прикладные проверки задаёт ОбработкаПроверкиЗаполнения
// (модуль в выгрузке отсутствует — точный состав не определён).

Схема проведения (реконструкция по metadata.register_records):

// Реконструкция по metadata.register_records (2 регистра). Не дословный код модуля.
Процедура ОбработкаПроведения(Отказ, РежимПроведения)

    // 1. Цикл по строкам ТЧ «ДанныеОВремени» (матрица: Сотрудник × 31 день).
    //    По каждому дню N в пределах ДатаНачалаПериода…ДатаОкончанияПериода:
    //      - Часов(N)              — количество часов
    //      - ВидВремени(N)         — вид использования рабочего времени
    //      - ПереходящаяЧастьСмены(N) — признак «хвоста» смены
    //    При ГрафикСменности = Истина — дополнительно читается ТЧ «Смены»:
    //      - Смена(N), ОтражатьЧасыВДеньНачалаСмены(N)

    // 2. Запись в регистр хранения индивидуального графика.
    Движения.ДанныеИндивидуальныхГрафиковСотрудников;
    // Фиксирует персональный плановый ритм по дням периода.

    // 3. Запись в регистр табельного учёта рабочего времени.
    Движения.ДанныеТабельногоУчетаРабочегоВремениСотрудников;
    // Замещает плановый табельный учёт; от этих данных
    // зависит расчёт повременной зарплаты в расчётных документах,
    // и далее — ИПН, ОПВ, ОПВР, СО, ВОСМС/ООСМС.

    // 4. При ИсправленныйДокумент заполнен — механизм корректировок
    //    учитывает ТЧ «СотрудникиСИсправлениями» для уточнения
    //    набора записей (точная механика в BSL — не выгружена).

    Движения.Записать();

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

Зависимости

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

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