Обновление типовой клиент-серверной конфигурации 1С:Бухгалтерия 3.0 — это ответственный процесс, требующий соблюдения определенной последовательности действий. Одним из наиболее часто обсуждаемых вопросов среди администраторов является необходимость блокировки регламентных заданий. Разберем детально, зачем это нужно, в какой момент устанавливать блокировку и как правильно вернуть систему в рабочее состояние.
Проанализируем ситуацию: во время обновления конфигурации через Конфигуратор часто происходит реструктуризация таблиц базы данных. В этот же момент планировщик заданий может инициировать запуск фоновых процессов, таких как «Обновление индекса полнотекстового поиска», «Слияние индексов» или «Извлечение текста». Если регламентное задание начнет работу параллельно с процессом обновления, возникнет конфликт блокировок. В лучшем случае обновление просто прервется с ошибкой, в худшем — возможны нарушения логической целостности базы данных.
Рассмотрим основные причины, по которым блокировка необходима:
Это классический и самый надежный метод для клиент-серверного варианта. Выясним, как правильно выставить настройки в консоли.
Разберем шаги:
Важный нюанс: Блокировку следует включать ПЕРЕД запуском обновления в Конфигураторе. Снимать блокировку нужно только после того, как завершено не только обновление в Конфигураторе, но и выполнен первый запуск в режиме «1С:Предприятие», где происходит окончательная обработка данных.
Если доступа к консоли администрирования нет, мы можем воспользоваться встроенными средствами Библиотеки стандартных подсистем (БСП). В современных версиях Бухгалтерии 3.0 этот функционал находится в разделе Администрирование — Обслуживание — Блокировка работы пользователей.
Проанализируем работу этого механизма:
При установке блокировки через этот интерфейс система программно устанавливает параметры блокировки на уровне кластера. Это удобно, так как не требует запуска отдельной утилиты. Однако стоит помнить, что если база уже находится в состоянии «ошибки обновления», зайти в пользовательский режим для снятия блокировки может быть затруднительно.
Посмотрим на программный аспект: управление блокировкой можно автоматизировать, используя параметры запуска. Рассмотрим пример командной строки для запуска сеанса с кодом разрешения:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /S "ServerName\BaseName" /C "ЗавершитьРаботуПользователей" /UC "КодДоступа"
Для опытных администраторов и систем непрерывной интеграции (CI/CD) актуален метод использования утилиты командной строки rac. Она позволяет управлять настройками базы без визуальной консоли.
Выясним пример команды для включения блокировки регламентных заданий:
rac infobase --cluster=<ID_кластера> update --infobase=<ID_базы> --infobase-user=<Имя> --infobase-pwd=<Пароль> --scheduled-jobs-deny=on
И, соответственно, для выключения после завершения всех процедур:
rac infobase --cluster=<ID_кластера> update --infobase=<ID_базы> --infobase-user=<Имя> --infobase-pwd=<Пароль> --scheduled-jobs-deny=off
Рассмотрим критически важный момент, описанный в сообщении 11. В современных конфигурациях 1С после нажатия «F7» в Конфигураторе процесс не заканчивается. При первом запуске 1С:Предприятие стартует этап «Обработка данных», который в новых версиях БСП часто выполняется в фоновом режиме.
Проблема: Если в консоли администрирования включена блокировка регламентных заданий, эти «послеобновленческие» фоновые процессы могут не запуститься. Вы увидите, что статус обновления «висит» или задания стоят в очереди.
Решение:
/AllowExecuteScheduledJobs -Force.Update123), и запускайте 1С с параметром /UC Update123. В этом случае фоновые задания, инициированные этим сеансом, смогут обходить общую блокировку.Подведем итог и составим оптимальный алгоритм действий для администратора:
1C:Enterprise 8.3 Server Agent.Помните, что пренебрежение блокировкой на маленьких базах может пройти бесследно, но на крупных промышленных системах это залог сохранности данных и спокойствия администратора.