Делаем день выходным в 1С: календарь, графики и код

· 9 мин

Содержание

Чтобы добавить выходной день, откройте производственный календарь , выделите нужную дату и смените её вид на «Выходной». Путь в ЗУП 3.1 — Настройка → Производственные календари, в Бухгалтерии 3.0 — Зарплата и кадры → Справочники и настройки → Производственные календари. После правки обязательно перезаполните графики работы, иначе новый выходной не попадёт в табель и в начисления.

Выходной день в 1С добавляют в трёх ситуациях: правительство перенесло выходной и федеральный календарь поменялся; в регионе есть свой нерабочий праздник; либо выходной нужен одному сотруднику, а не всей компании. Для первых двух случаев правят производственный календарь, для третьего — график работы или кадровый документ. Ниже — каждый способ с точными путями, плюс программная правка для разработчика.

Что меняет вид дня в календаре

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

  • 🟢 Рабочий — обычный день, входит в норму времени.
  • ⚪ Выходной — суббота, воскресенье или перенесённый выходной.
  • 🔴 Нерабочий праздничный — дни из ст. 112 ТК РФ; работа в них оплачивается не менее чем вдвое (ст. 153 ТК РФ).
  • 🟡 Предпраздничный — рабочий день, сокращённый на час.

Когда вы меняете вид дня на «Выходной», день перестаёт входить в норму рабочего времени. Это влияет на оклад за неполный месяц, на суммированный учёт, на оплату сверхурочных и работы в выходной. Поэтому важно не просто поправить календарь, а прогнать изменение дальше — до графиков и до документов начисления.

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

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

Правим производственный календарь вручную

Ручная правка подходит, когда нужно отметить один-два дня: региональный праздник, корпоративный выходной, точечный перенос.

  1. Откройте список календарей: ЗУП 3.1 — Настройка → Производственные календари; Бухгалтерия 3.0 — Зарплата и кадры → Справочники и настройки → Производственные календари (в части релизов пункт лежит в группе «Настройки»).
  2. Выберите нужный календарь и нужный год — год переключается в шапке формы.
  3. Выделите дату в сетке месяцев. Можно выделить сразу несколько дней с Ctrl.
  4. В командной панели над календарём задайте выделенным дням вид «Выходной».
  5. Запишите изменения.

Если вы делаете «рабочую субботу» (перенос), операций две: субботу помечаете рабочим днём, а будний день, на который перенесён выходной, — выходным. Норма времени за месяц при корректном переносе не меняется.

После правки календаря обязательно перезаполните графики работы — без этого новый выходной не попадёт ни в табель, ни в расчёт зарплаты.

Правка «задним числом» не пересчитывает уже проведённые начисления. Если месяц закрыт, после смены вида дня перепроведите и пересчитайте документ начисления за этот период вручную.

Обновление календаря из интернет-поддержки

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

Для этого должна быть подключена интернет-поддержка: Администрирование → Интернет-поддержка и сервисы, вход под логином 1С. После подключения в форме производственного календаря появляется команда обновления (заполнения по умолчанию) — она загружает актуальные выходные и праздники на выбранный год с сервера 1С.

Порядок такой:

  1. Подключите интернет-поддержку в разделе Администрирование.
  2. Откройте производственный календарь на нужный год.
  3. Запустите обновление календаря из командной панели.
  4. Сверьте перенесённые дни с официальным производственным календарём на год.
  5. Перезаполните графики работы.

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

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

Когда интернет-поддержка не подключена (например, база работает без доступа в сеть), команды обновления в календаре не будет. Тогда остаётся ручной способ: сверьтесь с официальным производственным календарём на год и расставьте перенесённые дни самостоятельно по шагам из раздела выше.

Перезаполнение графиков работы сотрудников

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

  1. Откройте список графиков: ЗУП 3.1 — Настройка → Графики работы сотрудников; Бухгалтерия 3.0 — Зарплата и кадры → Справочники и настройки → Графики работы.
  2. Откройте график, которого коснулось изменение.
  3. Нажмите заполнение графика — он пересоберётся по текущему календарю.
  4. Проверьте, что спорная дата стала нерабочей, и запишите график.
  5. Повторите для всех графиков, которые ссылаются на изменённый календарь.

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

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

Программное изменение календаря для разработчика

Если выходные нужно проставлять массово (например, при переносе данных или для своей обработки), данные производственного календаря можно менять из кода. Хранятся они в регистре сведений с данными производственного календаря.

Общая логика:

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

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

НаборЗаписей = РегистрыСведений.ДанныеПроизводственногоКалендаря.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Календарь.Установить(Календарь);
НаборЗаписей.Отбор.Год.Установить(2027);
НаборЗаписей.Прочитать();
// найти запись на нужную дату в НаборЗаписей и выставить ей вид дня «Выходной»,
// при отсутствии — добавить новую строку
НаборЗаписей.Записать();

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

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

Чем отличается правка в Бухгалтерии, ЗУП и УТ

Механизм один — производственный календарь, — но путь к нему зависит от конфигурации. В Бухгалтерии и ЗУП календарь обслуживает зарплату и кадры; в Управлении торговлей зарплаты нет, и календарь там используется для расчёта сроков (отгрузки, заказы, планирование), а не для начислений.

КонфигурацияПуть к производственным календарям
ЗУП 3.1Настройка → Производственные календари
Бухгалтерия 3.0Зарплата и кадры → Справочники и настройки → Производственные календари
Управление торговлей 11НСИ и администрирование — в блоке настроек календарей (для расчёта дат, не для зарплаты)

В УТ 11 не рассчитываются графики работы сотрудников в кадровом смысле — не ищите там табель и норму времени. Если в компании на УТ ведут ещё и зарплату, это делает отдельная конфигурация (ЗУП или Бухгалтерия), и календарь правят в ней.

Какой у вас случай с выходным днём?

Как проверить, что выходной встал правильно

После правки стоит убедиться, что изменение дошло до расчёта, а не осталось в одном календаре.

  • Откройте производственный календарь на нужный год и убедитесь, что дата отмечена как выходная.
  • Откройте график работы сотрудника за этот месяц — на спорной дате не должно быть запланированных часов.
  • Сверьте норму времени за месяц в графике: при простом добавлении выходного она уменьшится, при корректном переносе — останется прежней.
  • Для закрытого месяца пересчитайте документ начисления и посмотрите, изменилась ли оплата и отработанное время.

Если календарь поправлен, а в графике дата всё ещё рабочая — график не перезаполнен. Если поправлен и график, а начисление не изменилось — документ начисления нужно пересчитать заново.

Частые ошибки

Правка календаря ломается не на самом дне, а на том, что идёт после него.

  • ❌ Поправили не тот год. Год переключается в шапке формы; легко оставить прошлый. Выходной уходит «в никуда».
  • ❌ Забыли перезаполнить графики. Самая частая причина, почему выходной не виден в табеле. Календарь — источник, график — потребитель; потребителя надо обновить.
  • ❌ Правят федеральный календарь под региональный праздник. Следующее автообновление из интернет-поддержки затрёт правку. Региональные дни держите в отдельном календаре.
  • ❌ Меняют вид дня в закрытом периоде и ждут, что зарплата пересчитается сама. Проведённые документы не пересчитываются автоматически — их нужно перепровести вручную.
  • ❌ Путают выходной и нерабочий праздничный. Для оплаты работы в этот день это разные вещи: праздничный по ст. 153 ТК РФ оплачивается не менее чем вдвое.

Частые вопросы

Чем «Выходной» отличается от «Нерабочего праздничного дня» в календаре?
Выходной — это обычный нерабочий день: суббота, воскресенье или перенос. Нерабочий праздничный — день из ст. 112 ТК РФ. Для нормы времени они оба нерабочие, но работа в праздничный оплачивается по ст. 153 ТК РФ не менее чем в двойном размере, а в обычный выходной — по правилам выходного.
Пересчитается ли уже начисленная зарплата, если сделать день выходным задним числом?
Нет. Проведённые документы начисления автоматически не пересчитываются. После правки календаря и графика перепроведите и пересчитайте документ начисления за этот период вручную.
Можно ли держать несколько производственных календарей для разных регионов?
Да. Заведите отдельный календарь под каждый регион или режим и назначьте его нужным графикам работы. Так региональные выходные не конфликтуют с федеральными и не теряются при автообновлении.
Влияет ли правка календаря на отпускные и больничный?
На число дней отпуска и на оплату больничного — нет: они считаются по календарным дням. Но норма рабочего времени, оплата за неполный месяц у окладников, суммированный учёт и оплата работы в выходной зависят от производственного календаря напрямую.
Почему в календаре нет команды автоматического обновления?
Чаще всего не подключена интернет-поддержка. Проверьте вход под логином 1С в разделе Администрирование → Интернет-поддержка и сервисы. Если доступа в сеть у базы нет, обновить календарь из сервиса не получится — перенесённые дни придётся расставить вручную.

Источники

  • Трудовой кодекс РФ, ст. 111 «Выходные дни»
  • Трудовой кодекс РФ, ст. 112 «Нерабочие праздничные дни»
  • Трудовой кодекс РФ, ст. 153 «Оплата труда в выходные и нерабочие праздничные дни»