Документ «Индивидуальный график»
Задаёт персональный график работы сотрудника (или группы сотрудников) на заданный период — отдельно от общего планового графика; при проведении формирует табельный учёт рабочего времени, на основе которого строится повременный расчёт зарплаты и, далее по цепочке, ИПН, ОПВ, ОПВР, СО, ВОСМС/ООСМС.
🎯 Что это и зачем
Когда плановый график работы не подходит конкретному сотруднику — из-за неполного рабочего времени, скользящего режима, индивидуальной ротации смен или разовой точечной корректировки на месяц — кадровик или табельщик вводит документ «Индивидуальный график». По каждому дню периода указываются часы работы, вид использования рабочего времени (явка, ночные и т. п.) и, при сменном режиме, конкретная смена. Плановый график при этом замещается: табельный расчёт строится именно по индивидуальным данным.
Казахстанский контекст: сам документ налогов и взносов не считает — это задача расчётных документов (начисление зарплаты, больничный и т. п.). Однако от корректности табельных данных напрямую зависит повременная база начисления, а от неё — ИПН, ОПВ, ОПВР, СО, ВОСМС и ООСМС. Ошибка в часах одного дня ведёт к пересчёту всей цепочки удержаний за месяц.
🧭 Где найти в программе
👤 Часть 1. Для пользователя
Три сценария: стандартный помесячный, сменный и групповой/корректировочный.
Урок 1. Индивидуальный график сотрудника на месяц
Когда: конкретному сотруднику на месяц нужен график, отличный от планового — индивидуальный режим, неполное рабочее время, скользящий или нестандартный ритм.
- Создайте новый документ «Индивидуальный график».
- Заполните обязательную шапку: Организация, Дата начала периода, Дата окончания периода, Период ввода данных о времени (значения перечисления смотрите на форме). При необходимости укажите Подразделение (помогает при подборе сотрудников) и Период регистрации.
- В табличной части «Данные о времени» добавьте строку и выберите Сотрудника.
- По каждому рабочему дню периода заполните Часов(N) — количество часов за день N (суффикс = число месяца, например Часов17 = 17-е число). Допустимы десятичные значения (7.5).
- Для каждого заполненного дня укажите ВидВремени(N) — вид из справочника «Виды использования рабочего времени». Пары «часы — вид» должны быть согласованы: не оставляйте часы без вида и наоборот.
- Проведите документ.
Урок 2. Сменный индивидуальный график (с переходящими сменами)
Когда: сотрудник работает по сменам — в том числе с ночными и переходящими через полночь — и смены назначаются индивидуально, отдельно от общего графика.
- Создайте документ и заполните обязательную шапку (см. Урок 1).
- Установите флаг «График сменности» = Истина — это открывает работу с табличной частью «Смены».
- В ТЧ «Смены» добавьте строку по сотруднику. По дням периода укажите Смена(N) — ссылку на смену из справочника «Смены работы сотрудников».
- Для переходящих смен: флаг ОтражатьЧасыВДеньНачалаСмены(N) = Истина означает, что все часы смены, начавшейся в день N, учитываются именно в день N (а не в день окончания смены).
- В ТЧ «Данные о времени» по той же строке (тот же сотрудник) заполните или проверьте Часов(N) и ВидВремени(N). Для «хвостовой» части смены, начатой накануне, поставьте флаг ПереходящаяЧастьСмены(N) = Истина.
- Проведите документ.
ПереходящаяЧастьСмены(N+1). Флаг ОтражатьЧасыВДеньНачалаСмены(N) в ТЧ «Смены» позволяет альтернативно учесть всё в дне начала смены.Урок 3. Исправление и групповой ввод
Когда: нужно либо ввести графики сразу на нескольких сотрудников, либо исправить уже проведённый документ в закрытом периоде.
- Групповой ввод. Заполните шапку (Организация, период, Период ввода данных о времени), при необходимости — Подразделение для удобства подбора. В ТЧ «Данные о времени» добавьте по строке на каждого сотрудника и заполните дни для каждого. После проведения движения по регистрам формируются сразу по всем сотрудникам документа. Колонка-сводка «Сотрудники» (реквизит шапки «КраткийСоставДокумента») заполнится программно — вручную не редактируйте.
- Исправление. Если период уже рассчитан, не правьте исходный документ задним числом — создайте новый «Индивидуальный график», убедитесь, что реквизит «Исправленный документ» ссылается на исправляемый документ. Табличная часть «Сотрудники с исправлениями» заполнится программно. Введите правильные данные по дням и проведите.
🛠 Часть 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 … Часов31 | xs:decimal | Количество часов за день N; десятичные значения допустимы (7.5) |
ВидВремени1 … ВидВремени31 | СправочникСсылка.ВидыИспользованияРабочегоВремени | Вид использования рабочего времени за день N; парный к Часов(N) |
ПереходящаяЧастьСмены1 … ПереходящаяЧастьСмены31 | xs:boolean | Признак «хвоста» смены, начатой накануне; используется при сменном режиме |
ТЧ «Смены» — активна при ГрафикСменности = Истина. 63 колонки: Сотрудник + две группы по 31.
| Имя (шаблон, N = 1…31) | Тип | Назначение |
|---|---|---|
Сотрудник | СправочникСсылка.Сотрудники | Сотрудник |
Смена1 … Смена31 | СправочникСсылка.СменыРаботыСотрудников | Смена, назначенная на день N |
ОтражатьЧасыВДеньНачалаСмены1 … ОтражатьЧасыВДеньНачалаСмены31 | xs:boolean | Относить ли часы переходящей смены целиком к дню её начала |
ТЧ «СотрудникиСИсправлениями» (синоним «Сотрудники с исправлениями») — служебная: список сотрудников, по которым документ исправляет данные; заполняется программно, вручную не редактировать.
| Имя | Тип | Назначение |
|---|---|---|
Сотрудник | СправочникСсылка.Сотрудники | Сотрудник, чьи данные исправляются |
ТЧ «ФизическиеЛица» — служебная: физические лица документа для типовых механизмов; заполняется программно.
| Имя | Тип | Назначение |
|---|---|---|
ФизическоеЛицо | СправочникСсылка.ФизическиеЛица | Физическое лицо, затронутое документом |
ТЧ «ДополнительныеРеквизиты» — механизм дополнительных реквизитов БСП.
| Имя | Тип | Назначение |
|---|---|---|
Свойство | ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения | Вид дополнительного свойства |
Значение | (составной) | Значение свойства |
ТекстоваяСтрока | xs:string | Текстовое представление значения |
Движения по регистрам
Документ объявлен регистратором по 2 регистрам накопления (из metadata.register_records).
| Регистр | Тип | Назначение |
|---|---|---|
ДанныеИндивидуальныхГрафиковСотрудников | Накопления | Хранит сам индивидуальный график: данные по дням и часам — основание для замещения планового графика |
ДанныеТабельногоУчетаРабочегоВремениСотрудников | Накопления | Табельный учёт отработанного рабочего времени; от этих данных строится повременное начисление зарплаты |
Налоги и соцплатежи РК (ИПН, ОПВ, ОПВР, СО, ВОСМС, ООСМС) сам документ не рассчитывает — они исчисляются расчётными документами (начисление зарплаты и др.) на основе сформированных табельных данных.
Как формируется проведение — реальный код (3.1.2.24)
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 пусты: документ не вводится на основании других объектов и не порождает новые напрямую. Механизм исправления реализован через реквизит ИсправленныйДокумент, а не через стандартный «ввод на основании».🔗 Связанные разделы
- Начисление зарплаты и взносов — как табельные данные индивидуального графика влияют на расчёт зарплаты, ИПН, ОПВ, СО, ВОСМС.
- Приём на работу — кадровый документ раздела «Кадры»; задаёт плановый график сотрудника, который индивидуальный график впоследствии замещает.