Ступайте, ведра, сами домой…
(Алексей Толстой, "ПО ЩУЧЬЕМУ ВЕЛЕНЬЮ")
Во-первых, по поводу сокращения КБД. В данной статье под ним понимается конфигурация базы данных. Широко оно не используется, но где-то на просторах Интернета я его уже встречал.
Далее, по поводу оператора обновления. Таким термином мне кажется правильным обозначать специалиста, который для обновления КБД выполняет некоторую последовательность действий, которые не требуют особенных интеллектуальных усилий: устанавливает блокировку начала сеансов, ждёт времени её начала, завершает работу не завершившихся самостоятельно сеансов, и, наконец, выполняет само обновление. Попутно он может при этом совершить ряд дополнительных действий, которые могут помочь в случае если что-то пойдёт не так. Например, сохранить конфигурации на момент до обновления.
Так вот, работа вечером в качестве оператора обновления, меня тяготила, и я постепенно пришёл к автоматизации операторской деятельности. Предлагаемая разработка - результат моей работы в этом направлении.
Сразу хотелось бы сказать об ограничениях.
В основе разработки - использование технологии RAS. Установка блокировок начала сеансов и регламентных заданий, а также завершение сеансов осуществляется через неё. Потому если по каким-либо причинам RAS у Вас не работает, то эта обработка мало Вам поможет.
По поводу прав. У Вас должны быть права администратора кластера.
Про отправку писем-отчётов. Реализована с использованием БСП. Поэтому если обработка будет запускаться из базы без БСП, то отправка писем-отчётов работать не будет.
Что умеет обработка.
- Облегчает ввод параметров блокировки начала сеансов и контролирует их правильность. Например, нельзя установить период блокировки в прошлом, нельзя начальную дату установить больше конечной.
- Устанавливает и снимает блокировку начала сеансов, устанавливает и снимает блокировку регламентных заданий.
- Сохраняет настройки обработки в файл и восстанавливает обратно (для каждой базы - свой набор).
- Проверяет наличие бэкапа по наличию файлов в заданном каталоге и по заданной новизне.
- Удаляет мешающие обновлению КБД сеансы.
- Выгружает базу данных в указанный dt-файл.
- Удаляет патчи (EF-исправления) (предварительно нужно удостовериться, что у указанного пользователя ИБ снят флажок "Защита от опасных действий" (в конфигураторе), а также наличие у пользователя права "Интерактивное открытие внешних обработок").
- Сохраняет старые (до обновления) конфигурации (расширяемую и расширений) в указанный каталог.
- Само собой, обновляет конфигурации (расширяемую и расширений).
- Отправляет письмо-отчёт.
Порядок работы пользователя (разработчика, администратора, ...) .
- Подготавливает рабочую базу к обновлению (вносит изменения руками, загружает из файла или из хранилища).
- Заходит в стороннюю (по отношению к обновляемой) базу (я использовал тестовую базу БСП).
- Открывает обработку как внешний файл.
- Задаёт настройки руками или загружает ранее сохранённые параметры из файла.
- Нажимает кнопку "Запустить процесс обновления КБД". В процессе выполнения в окно сообщений выводится информация о ходе процесса.
- По окончании процесса контролирует результат. При установленном флажке "Отправить письмо-отчет" на указанный адрес ЭП придёт письмо примерно такого содержания:
01.02.2026 19:06:49: Установлена блокировка начала сеансов c 01.02.2026 19:08:00 по 01.02.2026 20:08:00.
01.02.2026 19:08:00: Установлена блокировка регламентных заданий.
01.02.2026 19:09:07: Завершаем сеанс 1 (Сидоров, 1CV8) ...
01.02.2026 19:09:07: Завершаем сеанс 2 (Петров, 1CV8) ...
01.02.2026 19:09:11: Запущена на выполнение команда обновления расширяемой КБД.
01.02.2026 19:09:21: Команда обновления расширяемой КБД выполнена успешно.
01.02.2026 19:09:26: Запущена на выполнение команда обновления КБД расширения 'НСИ'.
01.02.2026 19:09:31: Команда обновления КБД расширения 'НСИ' выполнена успешно.
01.02.2026 19:09:36: Запущена на выполнение команда обновления КБД расширения 'НДС'.
01.02.2026 19:09:42: Команда обновления КБД расширения 'НДС' выполнена успешно.
Сразу отвечу на возможный вопрос о том, может ли обработка не только обновить КБД конфигураций, но и обновлять типовые конфигурации в режиме Предприятие (запустить в обновляемой базе сеанс в режиме Предприятие, ответить на вопрос о легальности полученных обновлений, дождаться завершения обновления данных, выполнить отложенные обновления ИБ). Внимательный читатель может заметить, что обработка умеет удалять патчи, а это может навести на мысль об обновлении типовых конфигураций.
Ответ: можно сказать, что в текущем состоянии - не может. Но работы в этом направлении велись, и даже были случаи удачного обновления и в режиме Предприятие. Но этот режим сейчас отключен. Причины - сложность, различия в типовых конфигурациях в части процедур обновлений, и наконец, отсутствие большой необходимости. Если кому интересно, могут включить видимость соответствующего флажка и поэкспериментировать с этим функционалом (соответствующие процедуры не удалены).
P.S.
В процессе написания обработки я использовал для её проверки технологию автоматизированного тестирования, а именно - конфигурацию "Тестер" (//infostart.ru/1c/tools/561157). Выражаю благодарность её разработчику, Решитко Дмитрию (grumagargler).
Проверено на следующих конфигурациях и релизах:
- 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.7.235
Вступайте в нашу телеграмм-группу Инфостарт
