Автоматическое обновление региональных производственных календарей 1С:ЗУП, как отключить
Учетные задачи - Кадровый учет
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Конфигурация 1С:ЗУП позволяет вести учет не только по календарю РФ, но и по региональным календарям с учетом региональных праздников и выходных дней. Также в ней можно привязать графики к определенному календарю, и эти графики будут автоматически перезаполняться при изменении в календаре. А еще календари в 1С:ЗУП автоматически обновляются, но тут кроме удобства кроется и неприятный нюанс: с точки зрения регионального законодательства региональные праздники могут быть как обязательными для всех организаций, так и опциональными. И тут нужно читать постановления локальных органов власти (и возможно что-то прописывать в нормативных актах самой компании).
Автоматическое обновление календарей происходит в ЗУП в следующих случая:
- При обновлении всех классификаторов
- При обновлении конфигурации на новый релиз
Вообще, календари не так часто обновляются, и многие кадровики предпочитают обновлять календари вручную из формы календаря, а не отдавать это не глядя на волю судьбы, когда можно в какой-то момент неожиданно обнаружить, что у тебя в базе некорректная норма времени, потому что изменения, внесенные вручную в региональный календарь, «затерлись» при очередном обновлении календарей.

С технической точки зрения календари обновляются с помощью специальной обработки «Заполнение календарных графиков», при этом данные по календарям берутся либо из макетов этой же обработки, которые обновляются от релиза к релизу, либо загружаются файлы из онлайн-сервиса при загрузке классификаторов.
В момент загрузки программа сравнивает версию классификатора в конфигураторе, который хранится в процедуре обработки, и версию классификатора календарей из регистра сведений «Версии классификаторов» и соответственно, если первая версия не меньше второй, то обновляет календари по версии классификаторов в конфигураторе, иначе идет обновляет календари из файлов, загруженных из онлайн-сервиса.
Обновление классификаторов происходит регламентным заданием по установленному расписанию. Некоторые пользователи полностью отключают загрузку классификаторов, в принципе это выход, тогда правда остальные классификаторы придется обновлять периодически вручную, нажимая на гиперссылку "Обновление классификаторов" и выбирая нужные классификаторы.

А вообще, автоматическая загрузка классификаторов нам нужна, а вот запуск обновления самих календарей, который автоматически запускается, и при обновлении релиза и при обновлении классификатора, можно и отключить, и обновлять календари только вручную.
С технической точки зрения, чтобы отключить автоматическое обновление календарей, как при обновлении базы данных, так и при обновлении классификаторов, нам нужно внести изменения в общий модуль «КалендарныеГрафики». Нас будут интересовать две процедуры:
- Процедура ПриЗагрузкеКлассификатора()
- Процедура ПриДобавленииОбработчиковОбновления()
И туда, и туда нужно поставить «затычку», т.е. возврат в начале процедур, чтобы программа, загрузив классификатор или обновив базу, не шла автоматически перезаписывать все календари, а за ними и графики.
Я для примера сделала в расширении дополнительную настройку, чтобы можно было включать/выключать автоматическое обновление календарей. Сохраняется в общих настройках в хранилище значений, проставить ее можно там же, где настраивается загрузка классификаторов, т.е. в разделе «Администрирование» и далее «Интернет-поддержка и сервис»

Проверено на следующих конфигурациях и релизах:
- Зарплата и управление персоналом, редакция 3.1, релизы 3.1.30.35
Вступайте в нашу телеграмм-группу Инфостарт