Как выполняется обновление конфигурации 1С из пользовательского режима?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Многие разработчики и администраторы задаются вопросом: каким образом происходит обновление конфигурации, когда мы запускаем процесс из пользовательского интерфейса, например, через «Обновление через интернет»? В этой статье мы подробно разберем, как устроена эта «магия» и почему прямое изменение конфигурации внутри сеанса невозможно.

Понимание архитектуры процесса

Важно уяснить принципиальный момент: платформа 1С:Предприятие не умеет изменять саму себя «на лету» в процессе работы активного пользовательского сеанса. Для того чтобы внести изменения в структуру метаданных (добавить объекты, изменить типы реквизитов или обновить конфигурацию базы данных), необходим монопольный доступ к информационной базе. По этой причине прямое управление процессом из пользовательского режима реализовано через делегирование задач внешним инструментам.

Когда вы инициируете обновление, программа выполняет следующие действия:

  1. Подготавливает необходимые файлы (например, файлы обновлений с расширением .cf или .cfu).
  2. Формирует скрипт, содержащий инструкции для командной строки.
  3. Завершает работу текущего сеанса приложения.
  4. Запускает исполняемый файл 1cv8.exe в режиме Конфигуратор с необходимыми ключами запуска.

Использование механизмов БСП для формирования скриптов

В типовых конфигурациях на базе Библиотеки стандартных подсистем (БСП) разработчики уже предусмотрели инструменты для автоматизации этого процесса. Основным механизмом является вызов метода, который генерирует командный файл для автоматического обновления:

Рассмотрим пример того, как система инициирует создание скрипта:


// В типовых конфигурациях для подготовки процесса используется 
// модуль ОбновлениеКонфигурацииКлиент
// Пример вызова формирования файлов скрипта:
ОбновлениеКонфигурацииКлиент.СформироватьФайлыСкриптаОбновления();

Этот метод подготавливает командную строку, в которой прописаны пути к базе, параметры аутентификации и команды на обновление структуры базы данных.

Параметры командной строки для автоматизации

Чтобы успешно управлять конфигуратором из скрипта, необходимо понимать, какие ключи командной строки поддерживает платформа 1С. Разберем основные из них, которые вы можете использовать в своих сценариях автоматизации:

Алгоритм реализации собственной процедуры обновления

Если вы планируете автоматизировать подобные процессы в нетиповых системах, действуйте по следующему алгоритму:

Шаг 1: Создайте файл сценария (например, .bat или .cmd). В нем необходимо прописать запуск 1cv8.exe с указанием пути к информационной базе.

Шаг 2: Добавьте параметры подключения. Обязательно укажите имя пользователя и пароль, обладающие правами на администрирование конфигурации.

Шаг 3: Сформируйте цепочку команд. Сначала выполняется резервное копирование, затем загрузка файла обновления, и в конце — обновление конфигурации базы данных.

Шаг 4: После выполнения всех команд в конфигураторе, скрипт должен инициировать повторный запуск 1cv8.exe в обычном режиме для продолжения работы пользователей.

Помните, что для обеспечения стабильности системы лучше всего опираться на существующие механизмы БСП, так как они уже прошли проверку на множестве типовых решений и учитывают нюансы версионности платформы.

Проанализировав данную ситуацию, мы приходим к выводу: прямое обновление из «1С:Предприятия» — это иллюзия, созданная грамотной автоматизацией вызова внешних процессов через конфигуратор. Используя скрипты, вы получаете мощный инструмент для управления жизненным циклом вашей конфигурации.

← На главную