Другое · 11 мин
Как создать производственный календарь в 1С
Как создать и заполнить производственный календарь в 1С: настройка рабочих дней, праздников и переносов, обновление календаря, типичные ошибки и проверка результата.
Производственный календарь в 1С — это базовый регистр, от которого зависит расчёт зарплаты, отпусков, больничных, командировок и графиков работы сотрудников. Если календарь не заполнен или заполнен с ошибками, программа неверно посчитает норму рабочего времени, а значит, исказит начисления по окладу и среднему заработку. Поэтому проверка и корректное заполнение производственного календаря — обязательный шаг перед началом учёта в новом году или при первом запуске конфигурации.
В типовых конфигурациях 1С (ЗУП, Бухгалтерия предприятия, ERP, Управление нашей фирмой) производственный календарь уже предустановлен и обновляется вместе с релизами. Однако ситуации, когда его нужно создать вручную, встречаются часто: свежая установка без данных, перенос базы, создание отдельного календаря для региона с особыми праздниками или написание собственной конфигурации. Ниже разобраны все основные сценарии.
Где хранится производственный календарь в 1С
В типовых конфигурациях производственные календари хранятся в одноимённом справочнике, а сами даты — в регистре сведений «Данные производственного календаря». Открыть справочник можно через раздел «Настройка» → «Производственные календари» в 1С:ЗУП и 1С:Бухгалтерии, либо через «Администрирование» → «Обслуживание» в некоторых версиях. В 1С:ERP и УНФ путь аналогичен: «Настройка» → «Производственные календари».
Федеральный календарь обычно называется «РФ» или «Производственный календарь РФ» и является базовым для всех графиков работы, у которых не задан собственный календарь. Региональные календари (например, для республик с дополнительными праздничными днями) создаются как отдельные элементы справочника и привязываются к графикам конкретных подразделений или сотрудников.
Как создать новый производственный календарь вручную
Ручное создание потребуется, если в базе нет нужного календаря — например, для региона с особыми праздниками или для обособленного графика предприятия со своим циклом. Порядок действий одинаков в большинстве типовых конфигураций.
- 1Откройте «Настройка» → «Производственные календари» и нажмите «Создать»
- 2Укажите код (например, «РТ» для региона) и наименование календаря
- 3Установите дату, с которой действует календарь, если программа её запрашивает
- 4Нажмите «Заполнить по умолчанию» — программа проставит стандартную пятидневку с субботой и воскресеньем как выходными
- 5Вручную отметьте праздничные дни: выделите дату и выберите вид дня «Праздник»
- 6Оформите переносы выходных: отметьте рабочую субботу как рабочий день, а перенесённый будний день — как выходной
- 7Запишите календарь и обновите графики работы сотрудников, которые на него ссылаются
После нажатия «Заполнить по умолчанию» календарь заполняется только на текущий год. Если ведёте учёт за несколько лет, переключайтесь по годам кнопками навигации в форме календаря и повторяйте заполнение для каждого периода. Пропущенный год приведёт к ошибкам при расчёте документов задним числом.
Каждый день в календаре имеет вид: рабочий, предпраздничный (сокращённый), суббота, воскресенье, праздничный или нерабочий. Вид дня влияет на расчёт нормы времени: предпраздничный день уменьшает норму на один час, праздничный исключается из нормы полностью.
Как заполнить праздники и переносы выходных
Постановлением о переносе выходных дней каждый год устанавливаются нестандартные рабочие субботы и дополнительные выходные. В типовых конфигурациях эти данные приходят с обновлением, но при ручном ведении календаря их нужно внести самостоятельно, сверяясь с официальным производственным календарём.
Чтобы изменить вид конкретного дня, выделите дату в форме календаря и выберите нужный вид дня из списка или кнопкой «Изменить день». Для переноса выходного на другую дату сначала сделайте исходный выходной день рабочим, затем целевой будний день — выходным. Некоторые конфигурации поддерживают явное указание «перенесён с такой-то даты» — это упрощает проверку.
Обновление календаря через интернет и классификаторы
Если база типовая и обновляется штатно, заполнять календарь вручную не нужно: данные загружаются вместе с релизом конфигурации или через сервис автоматического обновления календарей. В 1С:ЗУП и 1С:Бухгалтерии есть настройка «Автоматически обновлять производственные календари» — она находится в разделе «Администрирование» → «Обслуживание» → «Регламентные операции» или в настройках обмена данными, в зависимости от версии.
При включённой опции программа периодически обращается к сервису обновлений и дозаполняет календарь на следующий год, как только публикуется официальное постановление о переносах. Проверьте, что регламентное задание «Обновление производственных календарей» активно и выполняется без ошибок — журнал выполнения доступен в списке регламентных заданий.
Привязка календаря к графикам работы сотрудников
Сам по себе производственный календарь не участвует в расчётах — он используется через графики работы сотрудников. В справочнике «Графики работы сотрудников» (или «Графики работы») у каждого графика есть поле «Производственный календарь». Если поле пустое, график использует календарь по умолчанию — федеральный.
После создания нового календаря откройте нужные графики и укажите его в настройках. Затем обязательно нажмите «Заполнить» в самом графике: 1С пересчитает табельные даты по новому календарю. Если этого не сделать, график сохранит старые данные, и изменения календаря не повлияют на расчёт.
Как проверить результат
Совпадает с официальной нормой рабочего времени при 40-часовой неделе
Норма отличается — календарь не заполнен за нужный год или праздники не отмечены
Праздничные дни помечены кодом «В», предпраздничные — с сокращением на час
Праздники выглядят как рабочие дни или наоборот
Норма дней и часов в документе соответствует календарю
Программа выдаёт предупреждение об отсутствии данных календаря
Создание календаря в собственной конфигурации
Если вы разрабатываете собственную конфигурацию на платформе 1С:Предприятие, производственный календарь реализуется парой объектов: справочник «ПроизводственныеКалендари» и регистр сведений «ДанныеПроизводственногоКалендаря» с измерением «ПроизводственныйКалендарь», измерением «Дата» и ресурсом «ВидДня» (перечисление: рабочий, суббота, воскресенье, праздничный, предпраздничный). Именно такая структура используется в библиотеке стандартных подсистем (БСП), и проще всего подключить готовую подсистему «Календарные графики», чем писать механизм с нуля.
Программное заполнение регистра выполняется набором записей. Пример цикла, который заполняет год стандартной пятидневкой:
Набор = РегистрыСведений.ДанныеПроизводственногоКалендаря.СоздатьНаборЗаписей();
Набор.Отбор.ПроизводственныйКалендарь.Установить(КалендарьСсылка);
Дата = НачалоГода(Год);
Пока Дата <= КонецГода(Год) Цикл
Запись = Набор.Добавить();
Запись.ПроизводственныйКалендарь = КалендарьСсылка;
Запись.Дата = Дата;
ДеньНедели = ДеньНедели(Дата);
Если ДеньНедели = 6 Тогда
Запись.ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Суббота;
ИначеЕсли ДеньНедели = 7 Тогда
Запись.ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Воскресенье;
Иначе
Запись.ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Рабочий;
КонецЕсли;
Дата = Дата + 86400;
КонецЦикла;
Набор.Записать();
После базового заполнения отдельной процедурой проставьте праздничные даты по списку и переносы. Храните список праздников в таблице значений или макете, чтобы обновлять его без изменения кода.
При добавлении дня к дате в цикле используйте явное прибавление 86400 секунд, а не функции работы с датой через строки — это быстрее и исключает ошибки форматирования. Для перехода через границу года проверяйте условие выхода из цикла именно по КонецГода, иначе последний день года легко потерять.
Типичные ошибки и ограничения
Ещё одно ограничение: в одних и тех же данных производственного календаря не может быть двух записей на одну дату для одного календаря — регистр сведений это контролирует. Если программа сообщает о дублях, проверьте, не заполняли ли вы календарь дважды (вручную и через обновление).
Как выбрать действие
Часто задаваемые вопросы
Что делать, если 1С пишет «Не заполнен производственный календарь» при расчёте зарплаты?
Откройте справочник «Производственные календари», найдите календарь, указанный в графике сотрудника (или федеральный, если поле пустое), и проверьте, заполнен ли нужный год. Если данных нет — нажмите «Заполнить по умолчанию» и отметьте праздники. Затем перезаполните график работы и повторите расчёт.
Можно ли иметь несколько производственных календарей в одной базе?
Да. Справочник позволяет создать любое количество календарей — например, федеральный и региональные с дополнительными праздниками. Каждый график работы ссылается на один календарь, поэтому сотрудники разных подразделений могут работать по разным календарям одновременно.
Нужно ли пересчитывать зарплату после исправления календаря?
Если исправлены даты в уже рассчитанном периоде и изменилась норма времени — да, документы начисления за этот период нужно пересчитать, иначе окладные сотрудники получат сумму по неверной норме. Если изменения коснулись только будущих периодов, достаточно перезаполнить графики.
Почему после обновления конфигурации календарь на новый год не появился?
Данные календаря поставляются с релизом, но иногда загружаются отдельным сервисом обновления. Проверьте, включено ли автоматическое обновление календарей и выполняется ли регламентное задание. При отсутствии интернета или подписки заполните календарь вручную.
Чем предпраздничный день отличается от обычного рабочего в календаре?
Предпраздничный день имеет отдельный вид в календаре и сокращает норму рабочего времени на один час. Если отметить его как обычный рабочий, норма часов за месяц будет завышена, что исказит расчёт часовой ставки и доплат.
Как перенести производственный календарь в другую базу?
Используйте типовую обработку «Выгрузка и загрузка данных XML» или обмен через универсальный формат: переносить нужно справочник «Производственные календари» и регистр сведений «Данные производственного календаря». После загрузки перезаполните графики работы в целевой базе.
Что важно запомнить
Производственный календарь создаётся в справочнике «Производственные календари», заполняется по умолчанию и дорабатывается вручную: праздники, предпраздничные дни и переносы. После любых изменений перезаполняйте графики работы сотрудников, а перед правкой закрытых периодов делайте резервную копию и оценивайте необходимость перерасчёта зарплаты.