Календарь и режимы работы
Назначение
Производственный календарь определяет, какие дни года являются рабочими, а какие — выходными, и в каком режиме (одна, две или три смены) работает каждый цех. На календаре держатся три расчёта:
- Норма рабочих дней в месяце для расчёта оклада в зарплате.
- «Доступное время» оборудования для расчёта коэффициента использования (КИО).
- Граница зарплатного периода — конкретный набор дней, попадающих в начисление.
Поэтому грамотно настроенный календарь — это не косметика, а основа корректных финансовых и аналитических цифр.
Кто работает с модулем
- Администратор — основной пользователь раздела. Настраивает дефолтный режим работы, переопределяет конкретные дни, синхронизирует праздники с государственным календарём РФ.
- Мастер — заходит в календарь реже, обычно для уточнения нерабочих дней или временного изменения режима смен.
- Оператор — раздел не открывает, ни в веб-интерфейсе, ни в приложении OCULUS.
Раздел и навигация
Календарь живёт внутри раздела «Зарплата» — это вкладка «Производственный календарь» в /payroll. Если искать «Календарь» в основном меню как самостоятельный пункт — его там нет: продуктовая логика поставила календарь рядом с зарплатой, потому что один без другого не имеет смысла.
На вкладке — месячный календарь с навигацией по месяцам, цветовой легендой, кнопками синхронизации и быстрых действий, диалогом редактирования режимов на выбранные дни.
Основные сценарии
Настройка дефолтного режима работы
- Администратор открывает «Зарплата → Производственный календарь».
- Нажимает кнопку настроек (иконка-шестерёнка) — открывается диалог «Настройки по умолчанию для всех цехов».
- Заполняет рабочие окна в сутки — одно, два или три, что покрывает типовые сценарии одно-, двух- и трёхсменной работы (например, дневная смена 09:00–18:00, вечерняя 18:00–02:00, ночная 02:00–09:00). Минимально обязательно — одно окно. Для нестандартных графиков (4-сменный режим в металлургии и химии) настройка выполняется службой поддержки OCULUS.
- По желанию исключает конкретные станки из расчёта: список оборудования с чек-боксами «не учитывать в этом режиме».
- Сохраняет.
С этого момента все дни месяца, для которых нет специальных настроек, работают в дефолтном режиме.
Кастомный режим на конкретные дни
- В месячном календаре администратор выбирает один или несколько дней (клик, клик с зажатым Shift для диапазона).
- Нажимает иконку «редактировать».
- Открывается такой же диалог «рабочих окон», но уже только для выбранных дней. Можно изменить часы, добавить или убрать смены, переопределить список исключённых станков.
- Сохраняет.
Выбранные дни помечаются синим — «у них свой режим, отличный от дефолта». Если значения в кастомной форме случайно совпали с дефолтными, система сама вернёт день в зелёное состояние («совпадает с дефолтом») — лишних «синих» дней без причины не появляется.
Выходные и праздники
- Выходные помечаются красным в календаре. На день в углу выводится короткая метка «вых».
- В организации хранится свой производственный календарь, и одновременно — справочник РФ-праздников (берётся из открытого государственного источника).
- Кнопка «Синхронизировать» подтягивает выходные и праздники на выбранный месяц из государственного календаря — переносы рабочих дней при стыковке праздников учитываются автоматически.
- Синхронизация работает только для текущего и прошлых месяцев — будущие месяцы можно настроить вручную, но государственный источник обычно не публикует данные далеко вперёд.
- Перед синхронизацией система предупреждает, что все ручные правки за этот месяц будут перезаписаны — это явный диалог с тоном «опасно».
Массовые действия
В шапке календаря — быстрые кнопки:
- «Будни» — выделить все будние дни месяца.
- «Очистить выделение» — снять отметки.
- «Все рабочие» / «Все выходные» — массово перевести выделенные дни в один режим.
Это спасает, когда надо быстро отметить «у нас всю первую неделю января не работаем» или «все субботы апреля — рабочие смены 9–13».
Поля и данные
Рабочее окно
| Поле | Обязательно | Подсказки |
|---|---|---|
| Окно №1 — начало | Да | Время в формате часы:минуты. |
| Окно №1 — конец | Да | Должно быть позже начала. |
| Окно №2 — начало и конец | Нет | Используется для двусменного режима. |
| Окно №3 — начало и конец | Нет | Используется для трёхсменного режима. |
Исключаемые станки
- Опциональный список оборудования цеха.
- Если станок добавлен в исключения, его доступное время не идёт в расчёт КИО для этого режима — например, машина в плановом капремонте на несколько недель.
- При смене режима на конкретный день можно унаследовать дефолтный список и добавить точечные исключения.
Цветовая легенда календаря
| Цвет | Значение |
|---|---|
| Зелёный | День работает в дефолтном режиме. |
| Синий | День имеет кастомные настройки, отличающиеся от дефолтных. |
| Красный | Выходной или праздник. Производство в этот день не считается доступным. |
| Серый | Нет настроек и нет дефолта — крайне редкий случай, обычно встречается у только что созданной организации до первой настройки. |
В углу каждой ячейки — короткая дата и количество настроенных смен. В шапке — счётчик «Рабочих дней: NN», который пересчитывается при любом изменении.
Автоматика и подсказки системы
- Если значения в кастомной форме совпали с дефолтными, день автоматически возвращается в зелёный — лишний «синий» не появится из-за невнимательности.
- Кастомные настройки имеют приоритет над дефолтом; список исключённых станков из дефолта объединяется со списком из кастома (логика «в каком из мест станок исключён — там он исключён»).
- Синхронизация с государственным календарём заранее предупреждает о перезаписи ручных правок — пользователь не теряет настройки случайно.
- Норма рабочих дней в месяце пересчитывается автоматически после любого изменения: новые цифры появятся в зарплате и в КИО при следующем открытии этих разделов.
- Удаление цеха из системы автоматически убирает все настройки утилизации, относящиеся к нему.
- Если на дату нет настроек ни в кастоме, ни в дефолте, система использует резервное правило «понедельник–пятница рабочие, суббота–воскресенье выходные» — данные не теряются, но ясно видно «нужно настроить».
Микро-фичи и детали интерфейса
- Календарь живёт во вкладке раздела «Зарплата» — продуктовая логика признаёт, что без зарплаты он редко нужен. Если ищете рабочие дни и не находите в меню, заходите в «Зарплата».
- Зелёный/синий/красный — устойчивая трёхцветная схема, понятная с первого взгляда: дефолт / кастом / выходной.
- Кастом, совпавший с дефолтом, автоматически перекрашивается обратно в зелёный — пользователь не видит «фантомных» правок.
- Один, два или три рабочих окна в сутки — система не «привязана» к двусменному графику, ночная смена с переходом через полночь поддерживается. Для нестандартных графиков (например, 4-сменный режим) настройка выполняется службой поддержки OCULUS.
- Кнопки массового переключения «Все рабочие / Все выходные» применяются к выделенным в календаре дням — мастер не кликает по 30 ячейкам по одной.
- Кнопка «Будни» — одной кнопкой выделяет все понедельники–пятницы текущего месяца, без перебора.
- Перед синхронизацией с государственным календарём система отдельно подсвечивает кнопку красным «опасно» и просит подтверждение, потому что ручные правки месяца перезапишутся.
- Синхронизация включена только для текущего и прошлых месяцев — система не делает вид, что знает будущие переносы.
- Исключение станка из расчёта КИО — отдельный список в настройках режима. Не «выбросить станок из работы», а «не учитывать в плановом доступном времени» (например, машина на капремонте).
- Каждая правка календаря фиксируется в журнале с автором и временем — в случае спора по зарплате видно, кто и когда менял рабочие дни.
- Hover на ячейке слегка её увеличивает — при работе с большим календарём проще попасть в нужный день.
Связи с другими модулями
- Зарплата (11). Календарь определяет норму рабочих дней в месяце. Эта норма участвует в расчёте оклада и в проверке соответствия МРОТ.
- Машины и КИО (09), Аналитика (12). Дефолтные и кастомные рабочие окна формируют «доступное время» оборудования. Без этой настройки КИО считается на стандартный пятидневный график, что часто далеко от реальности.
- Смены (07). Дата смены сравнивается с календарём — мастер видит, рабочий это день или выходной. Прямого «не разрешать смены в выходной» система не делает: иногда дежурные смены легитимны.
- Цеха (02). Настройки утилизации хранятся в разрезе цехов — каждый цех может иметь свой график.
Состояния и пограничные случаи
- Нет ни одной настройки на месяц. Используется резервное правило «понедельник–пятница рабочие». Это нормальный старт для новой организации.
- Конфликт дефолта и кастома. Кастом всегда побеждает; список исключённых станков объединяется (если станок исключён хотя бы в одном — он исключён).
- Удаление цеха с настройками. Все настройки этого цеха автоматически удаляются вместе с ним.
- Изменение настроек задним числом. Технически возможно. Если месяц закрыт в зарплате — закрытые расчёты не пересчитываются автоматически, нужно переоткрыть период (см. модуль 11).
- Синхронизация удалила нужные кастомы. Откатить нельзя автоматически — поэтому диалог подтверждения всегда явный, а до синхронизации стоит экспортировать важные правки.
- Нечитаемая выгрузка из государственного календаря. Если внешний источник временно недоступен, система явно показывает ошибку и не теряет имеющиеся данные.
- Будущий месяц без данных госкалендаря. Кнопка синхронизации заблокирована для будущих месяцев. Праздники нужно занести вручную или дождаться публикации календаря государством.
Операторский интерфейс OCULUS
- В приложении OCULUS календаря нет — это инструмент администратора, никак не задействованный в цеховой работе оператора.
- Оператор не видит, считается ли его текущий день рабочим в системе — он узнаёт о выходном через расписание смен от мастера.
- Все изменения календаря, сделанные администратором в веб-интерфейсе, мгновенно отражаются на расчётах в зарплате и аналитике — оператор почувствует это только косвенно через зарплатный расчёт.