Скрипт 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
. -
Функция КонфигурацияИФайлИдентичны(Знач ПутьКФайлуКонфигурации, Знач ИмяРасширения = "") - проверяет что основная конфигурация\конфигурация расширения идентична с файлом.
- Функция ВариантОбработкиНесуществующихСсылок() - аналог перечисления в виде ФиксированнаяСтруктура.
- Функция ВариантОбработкиЧастичнойПотериДанных() - аналог перечисления в виде ФиксированнаяСтруктура.
- Функция ВременнаяБазаСуществует()
- Функция ВыводКоманды() - содержимое вывода служебных сообщений.
- Процедура ВыполнитьКоманду(Знач Параметры)
- Процедура ЗапуститьТестированиеИИсправление(Параметры = Неопределено) - запустить тестирование и исправление с указанными опциями.
- Функция ИсключениеПриОшибкеВыполненияКоманды(НовоеЗначение = Неопределено)
- Процедура ИспользоватьВерсиюПлатформы(Знач МаскаВерсии, Знач Разрядность = Неопределено)
- Функция ИспользуемаяВерсияПлатформыСтаршеИлиРавна(Знач ТребуемаяВерсияПлатформы) - проверяет версию текущей платформы по сравнению с требуемой
- Функция КаталогКонфигурационныхФайлов1С(Знач ПутьКПлатформе1С = "", Знач ПутьКОбщимНастройкам = Истина)
- Функция КаталогСборки(Знач Каталог = "") - возвращает текущий каталог, если нечего не передано, и предыдущий каталог с одновременной установкой нового, если передан параметр Каталог.
- Функция КлючиПроверкиКонфигурации() - возвращаем Соответствие: название проверки (на англ. и рус. языке) -> название соответствующего параметра согласно документации.
- Функция КонфигурацияИФайлИдентичны(Знач ПутьКФайлуКонфигурации, Знач ИмяРасширения = "")
- Функция ПараметрыСтрокиСоединения() - структура со свойствами ПутьКФайлуБазы, Сервер, Порт, ИмяБазы.
- Функция ПолучитьОпцииТиИ() - структура с возможными параметрами запуска ТиИ.
- Функция ПолучитьПараметрыЗапуска() - получает стандартные праметры запуска конфигуратора.
- Функция ПолучитьПутьКВерсииПлатформы(Знач ВерсияПлатформы, Знач Разрядность = Неопределено)
- Функция ПроверитьВозможностьОбновленияФайловВыгрузки(Знач КаталогВыгрузки, Знач ПутьКФайлуВерсийДляСравнения = "", Знач ФорматВыгрузки = "") - функция проверяет возможность обновления файлов выгрузки, для каталога или конкретного файла версий.
- Функция ПутьКВременнойБазе()
- Функция ПутьКПлатформе1С(Знач Путь = "")
- Функция ПутьКТонкомуКлиенту1С(Знач ПутьКПлатформе1С = "")
- Функция РежимРеструктуризации() - Возвращает структуру ("Первый, Второй", "-v1", "-v2").
- Функция СформироватьСтрокуСоединения(ПараметрыСтрокиСоединения) - готовая строка соединения, либо структура, см. ПараметрыСтрокиСоединения().
- Процедура УдалитьВременнуюБазу()
- Процедура УстановитьИмяФайлаСообщенийПлатформы(Знач ПолныйПутьКФайлу, Знач ОчищатьФайл = Истина)
- Процедура УстановитьКлючРазрешенияЗапуска(Знач Ключ)
- Процедура УстановитьКодЯзыка(Знач КодЯзыка)
- Процедура УстановитьКодЯзыкаСеанса(Знач КодЯзыкаСеанса)
- Процедура УстановитьОбработчикОжидания(Знач ОбъектОбработчик, Знач Интервал = 5000) - при запуска в режиме предприятия часто приложение GUI возвращает в оболочку ОК сразу после старта (а не после завершения).
- Функция УстановитьПризнакОжиданияВыполненияПрограммы(НовыйПризнак)
- Функция ФайлИнформации() - имя файла для вывода служебной информации. Передаётся в параметре
/Out
.
Чтение конфигурационных файлов стартера 1С
- Процедура Открыть(Знач Путь) - читает файл конфигурации и трансформирует его содержимое в соответствие "имя параметра -> Массив из значений параметра".
- Функция ПолучитьСписок(Знач Ключ) - возвращает весь массив значений параметра по его имени.
- Функция ПолучитьЗначение(Знач Ключ) - возвращает первый элемент массива значений параметра по его ключу, если ключ существует, или Неопределено.