Скрипт v8runner.os предназначен для инкапсуляции запуска команд Конфигуратора и 1С:Предприятия с помощью командной строки.
Как правило, запуск той или иной команды конфигуратора в автоматическом режиме достаточно сложен. Нужно помнить синтаксис каждой команды, постоянно сверяться со справкой, обрабатывать выходные сообщения Конфигуратора и т.п.
Скрипт v8runner упрощает эти задачи и позволяет запускать Конфигуратор программно, в объектной манере.
Скрипт подключается, как отдельный класс и экземпляр этого класса используется для манипулирования какой-то одной информационной базой.
#Использовать v8runner
Конфигуратор = Новый УправлениеКонфигуратором();
Каждая команда конфигуратора может выполняться только для конкретной информационной базы. База, для которой выполняется команда называется контекстом команды.
Контекст указывается в формате параметра командной строки конфигуратора (так, как в Конфигураторе задается нужная информационная база) или в виде специальной структуры. Например, для формата строки соединения:
Конфигуратор.УстановитьКонтекст("/IBConnectionString""Srvr=someserver:2041; Ref='database'""","Admin", "passw0rd");
ИЛИ
ПараметрыСтрокиСоединения = Конфигуратор.ПараметрыСтрокиСоединения();
ПараметрыСтрокиСоединения.Сервер = "someserver";
ПараметрыСтрокиСоединения.Порт = 2041;
ПараметрыСтрокиСоединения.ИмяБазы = "database";
Конфигуратор.УстановитьКонтекст(ПараметрыСтрокиСоединения, "Admin", "passw0rd");
В более простой форме - для файловой базы можно указать через ключ /F
:
Конфигуратор.УстановитьКонтекст("/FC:\1cdb\mydatabase", "Admin", "passw0rd");
ИЛИ
ПараметрыСтрокиСоединения = Конфигуратор.ПараметрыСтрокиСоединения();
ПараметрыСтрокиСоединения.ПутьКФайлуБазы = "C:\1cdb\mydatabase";
Конфигуратор.УстановитьКонтекст(ПараметрыСтрокиСоединения, "Admin", "passw0rd");
Далее, вы вызываете методы объекта "Конфигуратор", соответствующие командам конфигуратора. Все команды будут выполняться над заданной базой. Теперь, объект Конфигуратор настроен на некий "контекст" - информационную базу, с которой и будут производиться все операции.
Если контекст явно не задан, то автоматически будет создана временная ИБ. Например, если для какого-то действия достаточно временной базы, то контекст можно не указывать.
Конфигуратор = Новый УправлениеКонфигуратором();
Конфигуратор.ЗагрузитьКонфигурациюИзФайла("C:\source.cf");
Конфигуратор.ВыполнитьСинтаксическийКонтроль();
// удаление временной базы
УдалитьФайлы(Конфигуратор.ПутьКВременнойБазе());
В приведенном примере файл C:\source.cf будет загружен в автоматически созданную временную базу. После чего будет выполнен полный синтаксический контроль конфигурации.
В обращении к Конфигуратору используется понятие "Параметров запуска". Это массив параметров командной строки для платформы 1С. Перед запуском платформы v8runner автоматически составит из этого массива командную строку платформы.
УправлениеКонфигуратором = Новый УправлениеКонфигуратором();
// в ПараметрахЗапуска уже добавлены ключи DESIGNER, строка соединения с ИБ, пользователь и пароль
ПараметрыЗапуска = УправлениеКонфигуратором.ПолучитьПараметрыЗапуска();
ПараметрыЗапуска.Добавить("/LoadCfg""C:\source.cf""");
Попытка
УправлениеКонфигуратором.ВыполнитьКоманду(ПараметрыЗапуска);
Исключение
// вывод log-файла с сообщениями от платформы.
Сообщить(УправлениеКонфигуратором.ВыводКоманды());
КонецПопытки
Управление запуском команд 1С:Предприятия 8
Процедура ЗагрузитьКонфигурациюИзХранилища(Знач СтрокаСоединения, Знач ПользовательХранилища, Знач ПарольХранилища = "", Знач НомерВерсииХранилища = 0) - загрузка конфигурации из хранилища конфигурации определенной версии, если задана, иначе получает последнюю версию. Вызывает команду /ConfigurationRepositoryUpdateCfg
.
Процедура ОбновитьКонфигурациюБазыДанныхИзХранилища(Знач СтрокаСоединения, Знач ПользовательХранилища, Знач ПарольХранилища = "", Знач НомерВерсииХранилища = 0) - загрузка конфигурации из хранилища конфигурации определенной версии, при этом обновляет базу данных. Вызывает команды /ConfigurationRepositoryUpdateCfg
и /UpdateDBCfg
.
Процедура РасширениеПолучитьИзХранилища(СтрокаСоединения, ПользовательХранилища, ПарольХранилища, ИмяРасширения, НомерВерсииХранилища = 0) - загрузка конфигурации расширения из хранилища, указанной версии. Вызывает команду /ConfigurationRepositoryUpdateCfg
с ключом -Extension.
Функция ПолучитьВерсиюИзХранилища(Знач СтрокаСоединения, Знач ПользовательХранилища, Знач ПарольХранилища, Знач НомерВерсии = Неопределено, Знач ИмяРасширения = Неопределено) - выгрузка конфигурации из хранилища в файл. Вызывает команду /ConfigurationRepositoryDumpCfg
.
Функция ПолучитьОтчетПоВерсиямИзХранилища(Знач СтрокаСоединения, Знач ПользовательХранилища, Знач ПарольХранилища = "", Знач ПутьКФайлуРезультата,
Знач НомерНачальнойВерсии = 1, Знач НомерКонечнойВерсии = Неопределено, Знач ТипГруппировки = Неопределено, Знач НачальнаяДата = Неопределено,
Знач КонечнаяДата = Неопределено, Знач НеВключатьВерсииСМетками = Ложь, Знач ВключатьВерсииТолькоСМетками = Ложь, Знач ВерсияКонфигурации = Неопределено,
Знач ФорматОтчета = Неопределено, Знач ИмяРасширения = Неопределено) - построение отчета по истории хранилища в формате TXT или MXL. Вызывает команду /ConfigurationRepositoryReport
.
Процедура СоздатьФайловоеХранилищеКонфигурации(Знач ПапкаХранилища, Знач ПользовательХранилища, Знач ПарольХранилища = "", Знач ПодключитьБазуКХранилищу = Ложь, Знач ИмяРасширения = Неопределено) - создание хранилища конфигурации. Вызывает команду /ConfigurationRepositoryCreate
.
Процедура ЗахватитьОбъектыВХранилище(Знач СтрокаСоединения, Знач ПользовательХранилища, Знач ПарольХранилища = "", Знач ПутьКФайлуСоСпискомОбъектов = "", Знач ПолучатьЗахваченныеОбъекты = Ложь, Знач ИмяРасширения = Неопределено) - захват объектов из хранилища конфигурации для редактирования. Вызывает команду /ConfigurationRepositoryLock
.
Процедура ОтменитьЗахватОбъектовВХранилище(Знач СтрокаСоединения, Знач ПользовательХранилища, Знач ПарольХранилища = "", Знач СписокОбъектов = Неопределено, Знач ИгнорироватьИзменения = Ложь, Знач ИмяРасширения = Неопределено) - отмена захвата объектов в хранилище конфигурации. Вызывает команду /ConfigurationRepositoryUnlock
.
Процедура ПоместитьИзмененияОбъектовВХранилище(Знач СтрокаСоединения, Знач ПользовательХранилища, Знач ПарольХранилища = "", Знач СписокОбъектов = Неопределено, Знач Комментарий = "", Знач ОставитьОбъектыЗахваченными = Ложь, Знач ИгнорироватьУдаленные = Ложь, Знач ИмяРасширения = Неопределено) - помещение изменений объектов в хранилище конфигурации. Вызывает команду /ConfigurationRepositoryCommit
.
Процедура УстановитьМеткуДляВерсииВХранилище(Знач СтрокаСоединения, Знач ПользовательХранилища, Знач ПарольХранилища = "", Знач Метка, Знач Комментарий = "", Знач Версия = "", Знач ИмяРасширения = "") - устанавливает метку на версию хранилища. Вызывает команду /ConfigurationRepositorySetLabel
.
Процедура ПодключитьсяКХранилищу(Знач СтрокаСоединения, Знач ПользовательХранилища, Знач ПарольХранилища = "", Знач ИгнорироватьНаличиеПодключеннойБД = Ложь, Знач ЗаменитьКонфигурациюБД = Истина, Знач ИмяРасширения = Неопределено) - подключение ранее неподключенной информационной базы к хранилищу конфигурации. Вызывает команду /ConfigurationRepositoryBindCfg
.
Процедура ОтключитьсяОтХранилища(Знач ИмяРасширения = Неопределено) - отключение конфигурации от хранилища конфигурации. Вызывает команду /ConfigurationRepositoryUnbindCfg
.
Процедура ДобавитьПользователяВХранилище(Знач СтрокаСоединения, Знач ПользовательХранилища, Знач ПарольХранилища, Знач НовыйПользователь, Знач ПарольПользователя = "", Знач Право = Неопределено, Знач ВосстановитьУдаленного = Ложь, Знач ИмяРасширения = Неопределено) - создать пользователя хранилища конфигурации. Вызывает команду /ConfigurationRepositoryAddUser
.
Процедура КопироватьПользователейИзХранилища(Знач СтрокаСоединения, Знач ПользовательХранилища, Знач ПарольХранилища, Знач СтрокаСоединенияХранилищаКопии, Знач ПользовательХранилищаКопии, Знач ПарольХранилищаКопии = "", Знач ВосстановитьУдаленного = Ложь, Знач ИмяРасширения = Неопределено) - копирование пользователей из другого хранилища конфигурации. Вызывает команду /ConfigurationRepositoryCopyUsers
.
Функция СоздатьФайлыПоставки(Знач ПутьФайлаПолнойПоставки = "", Знач ПутьФайлаПоставкиОбновления = "", Знач ДистрибутивыДляОбновления = Неопределено, Знач ПутьФайлаСПараметрамиЛицензирования = "") - создание файлов поставки и обновления. Вызывает команду /CreateDistributionFiles
.
Процедура ВыгрузитьКонфигурациюВФайл(Знач ФайлКонфигурации) - выгрузка конфигурацию в файл. Вызывает команду /DumpCfg
.
Процедура ВыгрузитьКонфигурациюВФайлы(Знач КаталогВыгрузки, Знач ФорматВыгрузки = "", Знач ТолькоИзмененные = Ложь, Знач ПутьКФайлуВерсийДляСравнения = "") - выгрузка конфигурации в файлы. Вызывает команду /DumpConfigToFiles
.
Процедура ВыгрузитьИзмененияКонфигурацииВФайл(Знач КаталогВыгрузки, Знач ПутьКФайлуИзменений, Знач ПутьКФайлуВерсийДляСравнения = "", Знач ФорматВыгрузки = "") - выгрузка изменений в файлах конфигурации в файл относительно файла версий в текущем каталоге выгрузки. Вызывает команду /DumpConfigToFiles
.
Процедура ЗагрузитьКонфигурациюИзФайлов(Знач КаталогЗагрузки, Знач ПутьКСпискуФайловЗагрузки = "", Знач ФорматВыгрузки = "", Знач ОбновитьФайлВерсий = Истина, Знач ОбновитьКонфигурациюИБ = Ложь) - загрузка основной конфигурации из файлов. Вызывает команду /LoadConfigFromFiles
.
Процедура ЗагрузитьРасширениеИзФайлов(Знач КаталогЗагрузки, Знач ИмяРасширения = "–AllExtensions", Знач ПутьКСпискуФайловЗагрузки = "", Знач ФорматВыгрузки = "", Знач ОбновитьФайлВерсий = Истина) - загрузка конфигурации расширения из файлов. Вызывает команду /LoadConfigFromFiles
с ключом -Extension или -AllExtensions.
Процедура ВыгрузитьРасширениеВФайл(Знач ПутьФайлРасширения, Знач ИмяРасширения) - выгрузка конфигурации расширения в файл. Вызывает команду /DumpConfigToFiles
с ключом -Extension.
Процедура ВыгрузитьРасширениеВФайлы(Знач КаталогВыгрузки, Знач ИмяРасширения = "-AllExtensions", Знач ФорматВыгрузки = "", Знач ТолькоИзмененные = Ложь, Знач ПутьКФайлуВерсийДляСравнения = "") - выгрузка конфигурации расширения в файлы. Вызывает команду /DumpConfigToFiles
с ключом -Extension или -AllExtensions.
Процедура ЗагрузитьКонфигурациюИзФайла(Знач ПутьФайлКонфигурации, Знач ОбновитьКонфигурациюИБ = Ложь) - загрузка конфигурации из файла. Вызывает команду /LoadCfg
.
Процедура ЗагрузитьРасширениеИзФайла(Знач ПутьФайлРасширения, Знач ИмяРасширения, Знач ОбновитьКонфигурациюИБ = Ложь) - загрузка конфигурации расширения из файла. Вызывает команду /LoadCfg
с ключом -Extension.
Процедура ОбъединитьКонфигурациюСФайлом(Знач ФайлКонфигурации, Знач ФайлНастроек, Знач ПоставитьНаПоддержку = Неопределено, Знач ВключитьВОбъединениеОбъектыПоНеразрешеннымСсылкам = Неопределено, Знач Принудительно = Ложь, Знач ПараметрыХранилища = Неопределено, Знач ИмяРасширения = Неопределено) - объединение текущей конфигурации с файлом (с использованием файла настроек). Вызывает команду /MergeCfg
. Описание ИТС:
Процедура ОбновитьКонфигурациюБазыДанных(ПредупрежденияКакОшибки = Ложь, НаСервере = Истина, ДинамическоеОбновление = Ложь, ИмяРасширения = "") - обновить конфигурацию БД. Вызывает команду /UpdateDBCfg
.
Процедура ОбновитьКонфигурациюБазыДанныхНаСервере(ПредупрежденияКакОшибки = Ложь, ДинамическоеОбновление = Ложь, РежимРеструктуризации = Неопределено, Знач ИмяРасширения = Неопределено) - обновить конфигурацию БД на сервере. Вызывает команду /UpdateDBCfg
с ключом -Server.
Процедура ОбновитьКонфигурацию(Знач КаталогВерсии, Знач ИспользоватьПолныйДистрибутив = Ложь) - обновить конфигурацию, находящуюся на поддержке, или объединить текущую конфигурацию с файлом 1cv8.cf
или 1cv8.cfu
. Вызывает команду /UpdateCfg
.
Процедура ВернутьсяККонфигурацииБазыДанных(Знач ИмяРасширения = Неопределено) - возврат к конфигурации базы данных. Вызывает команду /RollbackCfg
.
Процедура ОбновитьКонфигурациюИзФайла(Знач ПутьФайлаКонфигурации, Знач ПутьФайлаНастроек = Неопределено, Знач ВключитьВОбъединениеОбъектыПоНеразрешеннымСсылкам = Неопределено, Знач Принудительно = Ложь, Знач ВывестиДваждыИзмененныеОбъекты = Ложь) - обновление конфигурации, находящейся на поддержке ил объединение текущей конфигурации с файлом (с использованием файла настроек). Более гибкая версия процедуры ОбновитьКонфигурацию. Вызывает команду /UpdateCfg
.
Процедура СнятьКонфигурациюСПоддержки(Знач Принудительно = Ложь) - позволяет снимать конфигурация с поддержки. Вызывает команду /ManageCfgSupport
.
Процедура СконвертироватьФайлКонфигурации(Знач ФайлКонфигурации) - выполнить пакетную конвертацию файлов 1С:Предприятия 8.x. <имя файла|путь> ‑ имя файла или каталога. Вызывает команду /ConvertFiles
.
Процедура СоздатьФайловуюБазу(Знач КаталогБазы, Знач ПутьКШаблону = "", Знач ИмяБазыВСписке = "") - вызывает команду CREATEINFOBASE
.
Процедура СоздатьСервернуюБазу(ПараметрыБазы1С, ПараметрыСУБД, АвторизацияВКластере, Знач ОшибкаЕслиСуществует = Ложь, Знач ПутьКШаблону = "", Знач ИмяБазыВСписке = "") - вызывает команду CREATEINFOBASE
.
Процедура ЗагрузитьИнформационнуюБазу(ПутьВыгрузкиИБ, Знач КоличествоЗаданий = 0) - загрузка информационной базы из файла. Вызывает команду /RestoreIB
.
Процедура ВыгрузитьИнформационнуюБазу(ПутьВыгрузкиИБ) - выгрузка информационной базы в файл. Вызывает команду /DumpIB
.
Процедура ВыгрузитьВнешниеОтчетыИлиОбработкиВФайлы(Знач ПутьККаталогуВыгрузки, Знач ПутьКВнешнейОбработкеИлиОтчету, Знач Формат = "") - выгрузка внешней обработки или отчета в файл. Вызывает команду /DumpExternalDataProcessorOrReportToFiles
.
Процедура ВыполнитьРасширеннуюПроверкуКонфигуратора(Ключи, Знач СтрокаСоединенияСХранилищем = "", Знач ПользовательХранилища = "", Знач ПарольХранилища = "") - выполнить проверку конфигурации. Вызывает команду CheckConfig
с переданными Соответствием Ключи: Название провеки -> Флаг необходимости проверки
.
Процедура ВыполнитьСинтаксическийКонтроль( Знач ТонкийКлиент = Истина, Знач ВебКлиент = Истина, Знач Сервер = Истина, Знач ВнешнееСоединение = Истина, Знач ТолстыйКлиентОбычноеПриложение = Истина, Знач ИмяРасширения = Неопределено) - выполнить проверку конфигурации с указанными параметрами. Вызывает команду /CheckConfig
.
Функция ПроверкаКонфигурации(Проверки, ИмяРасширения = "") - выполнить проверку конфигурации по переданному массиву проверкок.
Процедура ЗапуститьВРежимеПредприятия(Знач КлючЗапуска = "", Знач УправляемыйРежим = Неопределено, Знач ДополнительныеКлючи = Неопределено) - запуск в режиме 1С:Предприятие (режим ENTERPRISE
) с переданными параметрами запуска
Процедура ВыгрузитьМобильноеПриложениеВФайл(Знач ПутьКАрхиву) - выгружает конфигурацию мобильного приложения в zip-файл. Вызывает команду /MobileAppWriteFile
.
Процедура ОбновитьПубликациюМобильногоПриложения() - обновление публикации мобильного приложения. Вызывает команду /MobileAppUpdatePublication
.
Процедура ПолучитьОтчетОСравненииКонфигурацииСФайлом(Знач ПутьКФайлуКонфигурации, Знач ПутьКОтчету, Знач ТипОтчета = Неопределено, Знач ФорматОтчета = "txt", Знач ИмяРасширения = "") - сравнение двух конфигураций и сформировать файл с отчетом о сравнении.. Выполняет команду /CompareCfg
.
Функция КонфигурацияИФайлИдентичны(Знач ПутьКФайлуКонфигурации, Знач ИмяРасширения = "") - проверяет что основная конфигурация\конфигурация расширения идентична с файлом.
/Out
.Чтение конфигурационных файлов стартера 1С