Skip to content

Управление запуском 1С из командной строки

Notifications You must be signed in to change notification settings

infostart-devops/v8runner

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

346 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Помощник выполнения команд Конфигуратора (v8runner.os)

Назначение

Скрипт v8runner.os предназначен для инкапсуляции запуска команд Конфигуратора и 1С:Предприятия с помощью командной строки.

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

Скрипт v8runner упрощает эти задачи и позволяет запускать Конфигуратор программно, в объектной манере.

Принцип работы

Скрипт подключается, как отдельный класс и экземпляр этого класса используется для манипулирования какой-то одной информационной базой.

#Использовать v8runner
Конфигуратор = Новый УправлениеКонфигуратором();

Каждая команда конфигуратора может выполняться только для конкретной информационной базы. База, для которой выполняется команда называется контекстом команды.

Контекст указывается в формате параметра командной строки конфигуратора - так, как в Конфигураторе задается нужная информационная база. Например, для формата строки соединения:

Конфигуратор.УстановитьКонтекст("/IBConnectionString""Srvr=someserver:2041; Ref='database'""","Admin", "passw0rd");

В более простой форме - для файловой базы можно указать через ключ /S:

Конфигуратор.УстановитьКонтекст("/FC:\1cdb\mydatabase","Admin", "passw0rd");

Далее, вы вызываете методы объекта "Конфигуратор", соответствующие командам конфигуратора. Все команды будут выполняться над заданной базой. Теперь, объект Конфигуратор настроен на некий "контекст" - информационную базу, с которой и будут производиться все операции.

Временный контекст

Если контекст явно не задан, то автоматически будет создана временная ИБ. Например, если для какого-то действия достаточно временной базы, то контекст можно не указывать.

Конфигуратор = Новый УправлениеКонфигуратором();
Конфигуратор.ЗагрузитьКонфигурациюИзФайла("C:\source.cf");
Конфигуратор.ВыполнитьСинтаксическийКонтроль();

// удаление временной базы
УдалитьФайлы(Конфигуратор.ПутьКВременнойБазе());

В приведенном примере файл C:\source.cf будет загружен в автоматически созданную временную базу. После чего будет выполнен полный синтаксический контроль конфигурации.

Параметры запуска

В обращении к Конфигуратору используется понятие "Параметров запуска". Это массив параметров командной строки для платформы 1С. Перед запуском платформы v8runner автоматически составит из этого массива командную строку платформы.

УправлениеКонфигуратором = Новый УправлениеКонфигуратором();

// в ПараметрахЗапуска уже добавлены ключи DESIGNER, строка соединения с ИБ, пользователь и пароль
ПараметрыЗапуска = УправлениеКонфигуратором.ПолучитьПараметрыЗапуска();
ПараметрыЗапуска.Добавить("/LoadCfg""C:\source.cf"""); 

Попытка
    УправлениеКонфигуратором.ВыполнитьКоманду(ПараметрыЗапуска);
Исключение
    // вывод log-файла с сообщениями от платформы.
    Сообщить(УправлениеКонфигуратором.ВыводКоманды());
КонецПопытки

Методы класса v8runner

Основные функции

  • Процедура УстановитьКонтекст(Знач СтрокаСоединения, Знач Пользователь, Знач Пароль)
  • Функция ПолучитьКонтекст()
  • Процедура ИспользоватьКонтекст(Знач Контекст)
  • Функция ПолучитьВерсиюИзХранилища(Знач СтрокаСоединения, Знач ПользовательХранилища, Знач ПарольХранилища, Знач НомерВерсии = Неопределено)
  • ОтключитьсяОтХранилища()
  • Процедура ЗагрузитьКонфигурациюИзФайла(Знач ФайлКонфигурации, Знач ОбновитьКонфигурациюИБ = Ложь)
  • Процедура ОбновитьКонфигурациюБазыДанных(ПредупрежденияКакОшибки = Ложь, НаСервере = Истина, ДинамическоеОбновление = Ложь, ИмяРасширения = "")
  • Процедура ОбновитьКонфигурациюБазыДанныхНаСервере(ПредупрежденияКакОшибки = Ложь, ДинамическоеОбновление = Ложь, РежимРеструктуризации = Неопределено)
  • Процедура ОбновитьКонфигурацию(Знач КаталогВерсии, Знач ИспользоватьПолныйДистрибутив = Ложь)
  • Процедура СоздатьФайловуюБазу(Знач КаталогБазы)
  • Процедура ВыполнитьКоманду(Знач Параметры)
  • Функция ПолучитьПараметрыЗапуска()
  • Процедура ВыполнитьСинтаксическийКонтроль(ТонкийКлиент = Истина, ВебКлиент = Истина, Сервер = Истина, ВнешнееСоединение = Истина, ТолстыйКлиентОбычноеПриложение = Истина)
  • Функция ПутьКВременнойБазе()
  • Процедура ЗагрузитьРасширениеИзФайла(Знач ПутьФайлРасширения, Знач ИмяРасширения, Знач ОбновитьКонфигурациюИБ = Ложь)
  • Процедура ВыгрузитьРасширениеВФайл(Знач ПутьФайлРасширения, Знач ИмяРасширения)
  • Процедура ЗагрузитьРасширениеИзФайлов(Знач КаталогЗагрузки, Знач ИмяРасширения = "–AllExtensions", Знач ПутьКСпискуФайловЗагрузки = "", Знач ФорматВыгрузки = "", Знач ОбновитьФайлВерсий = Истина)
  • Процедура ВыгрузитьРасширениеВФайлы(Знач КаталогВыгрузки, Знач ИмяРасширения = "–AllExtensions", Знач ФорматВыгрузки = "", Знач ТолькоИзмененные = Ложь, Знач ПутьКФайлуВерсийДляСравнения = "")
  • Процедура ПолучитьОтчетОСравненииКонфигурацииСФайлом(Знач ПутьКФайлуКонфигурации, Знач ПутьКОтчету, Знач ТипОтчета = Неопределено, Знач ФорматОтчета = "txt", Знач ИмяРасширения = "")
  • Функция КонфигурацияИФайлИдентичны(Знач ПутьКФайлуКонфигурации, Знач ИмяРасширения = "")
  • Процедура ВыгрузитьМобильноеПриложениеВФайл(Знач ПутьКАрхиву)
  • Процедура ОбновитьПубликациюМобильногоПриложения()

Вспомогательные и настроечные функции

  • Функция ПолучитьПутьКВерсииПлатформы(Знач ВерсияПлатформы)
  • Процедура УстановитьКлючРазрешенияЗапуска(Знач Ключ)
  • Функция ВыводКоманды()
  • Функция КаталогСборки(Знач Каталог = "")
  • Функция ПутьКПлатформе1С(Знач Путь = "")
  • Процедура УстановитьКодЯзыка(Знач КодЯзыка)
  • Процедура УстановитьКодЯзыкаСеанса(Знач КодЯзыкаСеанса)

About

Управление запуском 1С из командной строки

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • 1C Enterprise 100.0%