Библиотека для запуска 1С:Предприятие 8 в различных режимах

TRun1C

Библиотека для запуска 1С:Предприятие 8 в различных режимах.

Описание

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

Установка

Установка через пакетный менеджер opm командой:

opm install trun1c

Использование библиотеки

Библиотека подключается как отдельный класс. Экземпляр класса используется для ведения текущего лога.

Подключение библиотеки:

#Использовать TRun1C

Создание класса:

Запуск1С = Новый ТУправлениеЗапуском1С();

Параметры класса:

  • ПараметрыЗапуска - Структура параметров запуска, состав:
    • ПутьКПлатформе1С - Путь к платформе 1С
    • ВерсияПлатформы - Версия Платформы 1С (Если не заполнена, вычисляется автоматически). Варианты:
      • 81
      • 82
      • 83
    • ТипБазы - Тип базы 1С. Варианты:
      • F - файловая
      • S - серверная
      • WS - веб
    • ИмяБазы - Указывается как для файловой, так и для серверной базы.
    • АдресКластера - Параметры сервера 1С, по умолчанию - localhost
    • ПортКластера - Параметры сервера 1С, по умолчанию - 1541
    • ПортАгента - Параметры сервера 1С, по умолчанию - 1540
    • ИмяПользователяАдминистратораКластера - Параметры сервера 1С
    • ПарольПользователяАдминистратораКластера - Параметры сервера 1С
    • КодРазрешения - Параметры сервера 1С, по умолчанию - 987654321
    • СообщениеПриБлокировке - Параметры сервера 1С, по умолчанию - "Информационная база заблокирована для обслуживания."
    • ИмяПользователя - Параметры авторизации в информационной базе
    • ПарольПользователя - Параметры авторизации в информационной базе
    • АдресХранилища - Параметры работы с хранилищем
    • ИмяПользователяХранилища - Параметры работы с хранилищем
    • ПарольПользователяХранилища - Параметры работы с хранилищем
    • ВидныДействияВПакетномРежиме - При установке данного флага, все дейстия в пакетном запуске конфигуратора будут видны пользователю
    • ФайлДляЗаписиРезультатовРаботыВПакетномРежиме - При указании имени файла, результат работы конфигуратора в пакетном режиме будет записан в данные файл файл
  • ТекстОшибки - Переменная для возврата ошибки, если таковая имела место быть

Экспортные процедуры и функции класса:

Процедура ОчиститьПараметры()

  • Выполняет сборс всех параметров запуска к настройкам по умолчанию

Функция ИмяФайлаПоИмениБазыНаДату(Расширение)

  • Возвращает имя файла, построенном по принципу: ИмяБазы + ДатаВремя + Расширение. Пример: Base_2017_04_28_19_02_12.dt

Функция ЗавершитьРаботуПользователей()

  • Завершает работу пользователей для серверной базы

Функция УстановитьБлокировкуНачалаСеансов(БлокироватьРегламентныеЗадания = Истина)

  • Устанавливает блокирвку сенасов для серверной базы

Функция СнятьБлокировкуНачалаСеансов(СнятьБлокировкуРегламентныхЗаданий = Истина)

  • Снимает блокировку сеансов для серверной базы

Функция ПолучитьСписокСеансов(ПропускатьКонсольКластера = Истина)

  • Получает список текущих сеансов с информационной базой

Функция ЗапуститьПредприятие(ПутьКОбработке="", ОжидатьЗавершения = Ложь)

  • Запускает 1С:Предприятие
  • Параметры:
    • ПутьКОбработке - Строка - Если указан путь к обработке, то обработка будет открыта после запуска 1С:Предприятие
    • ОжидатьЗавершения - Булево - Ожидать завершения работы 1С:Предприятие, по умолчанию - Ложь

Функция ЗапуститьКонфигуратор(ОжидатьЗавершения = Ложь)

  • Запускает конфигуратор
  • Параметры:
    • ОжидатьЗавершения - Булево - Ожидать завершения работы конфигуратора, по умолчанию - Ложь

Функция ВыгрузитьИнформационнуюБазу(ПолныйПутьКФайлу)

  • Выгружает информационную базу в указанный файл (dt)
  • Параметры:
    • ПолныйПутьКФайлу - Строка - Полный путь к файлу

Функция ЗагрузитьИнформационнуюБазу(ПолныйПутьКФайлу)

  • Загружает информационную базу из указанного файла (dt)
  • Параметры:
    • ПолныйПутьКФайлу - Строка - Полный путь к файлу

Функция СохранитьКонфигурациюВФайл(ПолныйПутьКФайлу)

  • Сохраняет текущую конфигурацию в указаннй файл (cf)
  • Параметры:
    • ПолныйПутьКФайлу - Строка - Полный путь к файлу

Функция СохранитьКонфигурациюБазыДанныхВФайл(ПолныйПутьКФайлу)

  • Сохраняет конфигурацию базы данных в указаннй файл (cf)
  • Параметры:
    • ПолныйПутьКФайлу - Строка - Полный путь к файлу

Функция ЗагрузитьКонфигурациюИзФайла(ПолныйПутьКФайлу)

  • Загружает конфигурацию из указанного файла (cf)
  • Параметры:
    • ПолныйПутьКФайлу - Строка - Полный путь к файлу

Функция ОбновитьКонфигурациюБазыДанных(ПредупрежденияКакОшибки=Ложь, НаСервере=Ложь)

  • Обновлет конфигурацию базы данных
  • Параметры:
    • ПредупрежденияКакОшибки - Булево - Если Истина, то все предупреждения трактуются как ошибки.
    • НаСервере - Булево - Если Истина, то обновление будет выполняться на сервере (имеет смысл только в клиент-серверном варианте работы).

Функция СравнитьКонфигурации(ПутьИмяФайлаОтчета, ТипПервойКонфигурации = "MainConfiguration", ТипВторойКонфигурации = "DBConfiguration", Знач ДопКлючПервойКонфигурации = "", Знач ДопКлючВторойКонфигурации = "", ТипОтчетаДляСравнения = "Brief", ФорматФайлаОтчета = "txt", ПравилоУстановкиСоответствийОбъектов = "ByObjectName")

  • Сравнивает две конфигурации с выводом отчета в файл
  • Параметры:
    • ПутьИмяФайлаОтчета - путь к файлу отчета, если файл не существует, будет создан новый;
    • ТипПервойКонфигурации - Строка - Тип первой конфигурации. Возможные значния:
      • MainConfiguration – основная конфигурация;
      • DBConfiguration – конфигурация базы данных;
      • VendorConfiguration – конфигурация поставщика;
      • ExtensionConfiguration – расширение конфигурации;
      • ExtensionDBConfiguration – расширение конфигурации из база данных;
      • ConfigurationRepository – конфигурация из хранилища конфигурации;
      • File – файл конфигурации/расширения конфигурации.
    • ТипВторойКонфигурации - Строка - Тип второй конфигурации. Возможные значения:
      • MainConfiguration – основная конфигурация;
      • DBConfiguration – конфигурация базы данных;
      • VendorConfiguration – конфигурация поставщика;
      • ExtensionConfiguration – расширение конфигурации;
      • ExtensionDBConfiguration – расширение конфигурации из база данных;
      • ConfigurationRepository – конфигурация из хранилища конфигурации;
      • File – файл конфигурации/расширения конфигурации.
    • ДопКлючПервойКонфигурации - Строка - дополнительный идентификатор первой конфигурации. Возможные значения (в зависимости от типа первой конфигурации):
      • MainConfiguration - Не используется
      • DBConfiguration - Не используется
      • VendorConfiguration - Имя конфигурации поставщика
      • ExtensionConfiguration - Имя конфигурации поставщика
      • ExtensionDBConfiguration - Имя конфигурации расширения (из базы данных)
      • ConfigurationRepository - Версия конфигурации в хранилище
      • File - Пусть к файлу конфигурации (.cf-файл) или расширения конфигурации (.cfe-файл)
    • ДопКлючВторойКонфигурации - Строка - дополнительный идентификатор второй конфигурации. Возможные значения (в зависимости от типа второй конфигурации):
      • MainConfiguration - Не используется
      • DBConfiguration - Не используется
      • VendorConfiguration - Имя конфигурации поставщика
      • ExtensionConfiguration - Имя конфигурации поставщика
      • ExtensionDBConfiguration - Имя конфигурации расширения (из базы данных)
      • ConfigurationRepository - Версия конфигурации в хранилище
      • File - Пусть к файлу конфигурации (.cf-файл) или расширения конфигурации (.cfe-файл)
    • ТипОтчетаДляСравнения - Строка - Тип отчета для сравнения. Возможные типы:
      • Brief – крайткий отчет;
      • Full – полный отчет.
    • ФорматФайлаОтчета - Строка - Формат файла отчета. Возможные значения:
      • txt – текстовый документ;
      • mxl – табличный документ.
    • ПравилоУстановкиСоответствийОбъектов - Строка - для тех случаев, когда конфигурации не состоят в отношениях «родитель-потомок», возможные значения:
      • ByObjectName – по именам объектов. Используется по умолчанию.
      • ByObjectIDs – по внутренним идентификаторам.
  • Возвращает:
    • Истина - Отчет сформирован успешно
    • Ложь - Были ошибки

Функция ЕстьИзмененияВОтчетеОСравненииКраткийТекст(ПутьКФайлуОтчетаОСравнении)

  • Проверяет есть ли записи об изменении в файле отчета о сравнении конфигураций. При условии, что отчет "краткий" в формате txt.
  • Параметры:
    • ПутьКФайлуОтчетаОСравнении - Путь к файлу отчета о сравнении
  • Возвращает:
    • Истина - Есть изменения
    • Ложь - Изменений нет
    • Неопределено - Были ошибки

Функция ЕстьИзмененияОсновнойКонфигурации()

  • Проверяет, если ли изменения в основной конфигурации относительно конфигурации базы данных
  • Возвращает:
    • Истина - Есть изменения
    • Ложь - Изменений нет
    • Неопределено - Были ошибки

Функция ЕстьИзмененияВХранилище()

  • Проверяет, если ли изменения в хранилище относительно основной конфигурации
  • Возвращает:
    • Истина - Есть изменения
    • Ложь - Изменений нет
    • Неопределено - Были ошибки

Функция СохранитьКонфигурациюИзХранилищаВФайл(ПолныйПутьКФайлу, НомерВерсии="")

  • Сохраняет конфигурацию из хранилища в файл
  • Параметры:
    • ПолныйПутьКФайлу - Полный путь к файлу
    • НомерВерсии (-v [номер версии хранилища]) — номер версии хранилища, если номер версии не указан, или равен -1, будет сохранена последняя версия

Функция ОбновитьКонфигурациюИзХранилища(НомерВерсии="", ПолучатьЗахваченныеОбъекты = Ложь, Форсировать = Истина)

  • Обновляет текущую конфигурацию из хранилища
  • Параметры:
    • НомерВерсии (-v [номер версии хранилища]) — номер версии хранилища, если номер версии не указан, или равен -1, будет сохранена последняя версия, если конфигурация не подключена к хранилищу, то параметр игнорируется;
    • ПолучатьЗахваченныеОбъекты (-revised) — получать захваченные объекты, если потребуется. Если конфигурация не подключена к хранилищу, то параметр игнорируется;
    • Форсировать (-force) — если при пакетном обновлении конфигурации из хранилища должны быть получены новые объекты конфигурации или удалиться существующие, указание этого параметра свидетельствует о подтверждении пользователем описанных выше операций. Если параметр не указан — действия выполнены не будут.

Функция ОтключитьКонфигурациюОтХранилища(Форсировать = Истина)

  • Отключает конфигурацию от хранилища
  • Параметры:
    • Форсировать (-force) Булево — ключ для форсирования отключения от хранилища (пропуск диалога аутентификации, если не указаны параметры пользователя хранилища, игнорирование наличия захваченных и измененных объектов).

ПодключитьКонфигурациюКХранилищу(Форсировать = Истина, ЗаменитьТекущуюКонфигурацию = Истина)

  • Подключает конфигурацию к хранилищу
  • Параметры:
    • Форсировать (-force) — Булево - выполняет подключение даже в том случае, если для данного пользователя уже есть конфигурация, связанная с данным хранилищем.
    • ЗаменитьТекущуюКонфигурацию - Булево - если конфигурация непустая, данный ключ подтверждает замену конфигурации на конфигурацию из хранилища.

Функция ВыполнитьОчисткуЛокальногоКешаХранилища()

  • Выполняет очистку локального кэша хранилища конфигурации

Функция ВыполнитьОчисткуЛокальнойБазыДанныхХранилища()

  • Выполняет очистку локальной базы данных хранилища конфигурации

ЗахватитьВХранилище(ПутьИмяФайлаОбъектов = "", ПолучатьОбъектыИзХранилища = Истина)

  • Выполняет захват объектов из хранилища конфигурации для редактирования (/ConfigurationRepositoryLock [–Objects <имя файла>] [-revised]).
  • Параметры:
    • ПутьИмяФайлаОбъектов (-Objects <имя файла>) - путь к файлу со списком объектов, которые будут участвовать в операции. Если файл указан – в операции участвуют только указанные в файле объекты, в противном случае участвует вся конфигурация.
    • ПолучатьОбъектыИзХранилища(-revised) - получать захваченные объекты, если потребуется.
  • Возвращает:
    • Истина - операция выполнена успешно;
    • Ложь - были ошибки.

Функция ОтменитьЗахватВХранилище(ПутьИмяФайлаОбъектов = "", ОтменитьЛокальныеИзменения = Истина)

  • Выполняет отмену захвата объектов в хранилище конфигурации (/ConfigurationRepositoryUnLock [–Objects <имя файла>] [-force]).
  • Параметры:
    • ПутьИмяФайлаОбъектов (-Objects <имя файла>) - путь к файлу со списком объектов, которые будут участвовать в операции. Если файл указан – в операции участвуют только указанные в файле объекты, в противном случае участвует вся конфигурация.
    • ОтменитьЛокальныеИзменения(-force) - описывает поведение с локально измененными объектами:
      • Ключ указан – локально измененные объекты будут получены из хранилища. Изменения будут потеряны.
      • Ключ не указан – при наличии локально измененных объектов будет выдана ошибка, и операция будет отменена целиком, для всех объектов, участвующих в операции.
  • Возвращает:
    • Истина - операция выполнена успешно;
    • Ложь - были ошибки.

Функция ПоместитьВХранилище (ПутьИмяФайлаОбъектов = "", ТекстКомментария = "", ОставлятьОбъектыЗахваченными = Ложь, ОчищатьСсылкиНаУдаленныеОбъекты = Истина)

  • Помещает измененные объекты в хранилище (/ConfigurationRepositoryCommit [–Objects <имя файла>] [-comment <текст комментария>] [-keepLocked] [-force])
  • Параметры:
    • ПутьИмяФайлаОбъектов (–Objects <имя файла>) – путь к файлу со списком объектов, которые будут участвовать в операции. Если файл указан – в операции участвуют только указанные в файле объекты, в противном случае участвует вся конфигурация.
    • ТекстКомментария (-comment <текст комментария>) - текст комментария к помещаемым объектам.
    • ОставлятьОбъектыЗахваченными (-keepLocked) - оставлять помещенные объекты захваченными. Если не указан, то после помещения изменений будет отменен захват для объектов, участвующих в операции.
    • ОчищатьСсылкиНаУдаленныеОбъекты (-force) - описывает поведение при обнаружении ссылок на удаленные объекты:
      • Истина – будет выполнена попытка очистки ссылок.
      • Ложь – будет выдана ошибка.
  • Возвращает:
    • Истина - операция выполнена успешно;
    • Ложь - были ошибки.

Функция СоздатьФайлСпискаОбъектов(ПолныйПутьКФайлуОтчета=, ПолныйПутьКФайлуСпискаОбъектов=)

  • Создает файл списка объектов на основании отчета о сравнении
  • Параметры:
    • ПолныйПутьКФайлуОтчета - полный путь к файлу отчета о сравнении (отчет должен быть кратким в формате txt)
    • ПолныйПутьКФайлуСпискаОбъектов - полный путь к файлу списка объектов, если путь не указан, будет создан временный.
  • Возвращает:
    • Неопределено - были ошибки;
    • Путь к файлу списка объектов - Файл создан успешно.

Пример использования

#Использовать TRun1C 
// Создадим объект
Запуск1С = Новый ТУправлениеЗапуском1С();

// Введем параметры
ПараметрыЗапуска = Запуск1С.ПараметрыЗапуска;
ПараметрыЗапуска.ПутьКПлатформе1С = "C:\Program Files (x86)\1cv8\8.3.8.2054\bin\1cv8.exe";
ПараметрыЗапуска.ТипБазы = "S";
ПараметрыЗапуска.ИмяБазы = "TestBase";
ПараметрыЗапуска.АдресКластера = "10.1.1.40";
ПараметрыЗапуска.ПортКластера = "2541";
ПараметрыЗапуска.ПортАгента = "2540";
ПараметрыЗапуска.ИмяПользователя = "Администратор";
ПараметрыЗапуска.ПарольПользователя = "";
ПараметрыЗапуска.ВидныДействияВПакетномРежиме = Ложь; //Можно не указывать
ПараметрыЗапуска.АдресХранилища = "C:\repo\OS_TScripts\_Tests\Repository";
ПараметрыЗапуска.ИмяПользователяХранилища = "admin";
ПараметрыЗапуска.ПарольПользователяХранилища = "1";

// Запустим тест всех процедур
ПолныйТестВсехПроцедур(Запуск1С);

// Введем параметры
ПараметрыЗапуска.ТипБазы = "F";
ПараметрыЗапуска.ИмяБазы = "C:\repo\OS_TScripts\_Tests\Base";
ПараметрыЗапуска.ИмяПользователя = "";
ПараметрыЗапуска.ПарольПользователя = "";

// Флаг наличия ошибок
БылиОшибки = Ложь;

// Создадим необходимые файлы
Если РабочийКаталог = "" Тогда
    РабочийКаталог = ".\";
КонецЕсли;
РабочийКаталог = ОбъединитьПути(РабочийКаталог,"Test_TRun1C");
СоздатьКаталог(РабочийКаталог);

// Результат работы в пакетном режиме
ПараметрыЗапуска = Запуск1С.ПараметрыЗапуска;
ПараметрыЗапуска.ФайлДляЗаписиРезультатовРаботыВПакетномРежиме = ОбъединитьПути(РабочийКаталог,Запуск1С.ИмяФайлаПоИмениБазыНаДату("txt")); //Можно не указывать

Если ПараметрыЗапуска.ТипБазы = "S" Тогда // Серверная база

    // Запустим 1С:Предприятие
    Если Запуск1С.ЗапуститьПредприятие() Тогда
        Сообщить("ЗапуститьПредприятие: УСПЕШНО");
    Иначе
        Сообщить("ЗапуститьПредприятие: " + Запуск1С.ТекстОшибки);
        БылиОшибки = Истина;
    КонецЕсли;	
    Приостановить(6000);
    
    // Запустим Конфигуратор
    Если Запуск1С.ЗапуститьКонфигуратор() Тогда
        Сообщить("ЗапуститьКонфигуратор: УСПЕШНО");
    Иначе
        Сообщить("ЗапуститьКонфигуратор: " + Запуск1С.ТекстОшибки);
        БылиОшибки = Истина;
    КонецЕсли;
    Приостановить(6000); 
    
    // Получим список сеансов
    ТаблицаСеансов = Запуск1С.ПолучитьСписокСеансов();
    Если ТаблицаСеансов <> Неопределено Тогда
        Сообщить("ПолучитьСписокСеансов: УСПЕШНО");
        Для Каждого Сеанс Из ТаблицаСеансов Цикл
            Сообщить("	Номер: " + Сеанс.НомерСоединения + ", Время начала: " + Сеанс.ВремяНачала + ", Имя пользователя: " + Сеанс.ИмяПользователя + 
                ", Имя компьютера: " + Сеанс.ИмяКомпьютера + ", Приложение: " + Сеанс.Приложение);
        КонецЦикла;
    Иначе
        Сообщить("ПолучитьСписокСеансов: " + Запуск1С.ТекстОшибки);
        БылиОшибки = Истина;
    КонецЕсли;

    // Заблокируем сеансы
    Если Запуск1С.УстановитьБлокировкуНачалаСеансов() Тогда
        Сообщить("УстановитьБлокировкуНачалаСеансов: УСПЕШНО");
    Иначе
        Сообщить("УстановитьБлокировкуНачалаСеансов: " + Запуск1С.ТекстОшибки);
        БылиОшибки = Истина;
    КонецЕсли;

    // Завершим работу пользователей, наш сеанс должен закрыться
    Если Запуск1С.ЗавершитьРаботуПользователей() Тогда
        Сообщить("ЗавершитьРаботуПользователей: УСПЕШНО");
    Иначе
        Сообщить("ЗавершитьРаботуПользователей: " + Запуск1С.ТекстОшибки);
        БылиОшибки = Истина;
    КонецЕсли;
    
    ВыполнитьСборкуМусора();
    
КонецЕсли;

// Отключимся от хранилища
Если Запуск1С.ОтключитьКонфигурациюОтХранилища() Тогда
    Сообщить("ОтключитьКонфигурациюОтХранилища: УСПЕШНО");
Иначе
    Сообщить("ОтключитьКонфигурациюОтХранилища: " + Запуск1С.ТекстОшибки);
    БылиОшибки = Истина;
КонецЕсли; 

// Выгрузим информационную базу
ПолныйПутьКФайлу = ОбъединитьПути(РабочийКаталог,Запуск1С.ИмяФайлаПоИмениБазыНаДату("dt"));
Если Запуск1С.ВыгрузитьИнформационнуюБазу(ПолныйПутьКФайлу) Тогда
    Сообщить("ВыгрузитьИнформационнуюБазу: УСПЕШНО " + " в " + ПолныйПутьКФайлу);
Иначе
    Сообщить("ВыгрузитьИнформационнуюБазу: " + Запуск1С.ТекстОшибки);
    БылиОшибки = Истина;
КонецЕсли;

// Загрузим файл в информационную базу
Если Запуск1С.ЗагрузитьИнформационнуюБазу(ПолныйПутьКФайлу) Тогда
    Сообщить("ЗагрузитьИнформационнуюБазу: УСПЕШНО " + " из " + ПолныйПутьКФайлу);
Иначе
    Сообщить("ЗагрузитьИнформационнуюБазу: " + Запуск1С.ТекстОшибки);
    БылиОшибки = Истина;
КонецЕсли;
УдалитьФайлы(ПолныйПутьКФайлу);

// Сохраним конфигурацию в файл
ПолныйПутьКФайлу = ОбъединитьПути(РабочийКаталог,Запуск1С.ИмяФайлаПоИмениБазыНаДату("cf"));
Если Запуск1С.СохранитьКонфигурациюВФайл(ПолныйПутьКФайлу) Тогда
    Сообщить("СохранитьКонфигурациюВФайл: УСПЕШНО " + " в " + ПолныйПутьКФайлу);
Иначе
    Сообщить("СохранитьКонфигурациюВФайл: " + Запуск1С.ТекстОшибки);
    БылиОшибки = Истина;
КонецЕсли;

// Загрузим конфигурацию из файла
Если Запуск1С.ЗагрузитьКонфигурациюИзФайла(ПолныйПутьКФайлу) Тогда
    Сообщить("ЗагрузитьКонфигурациюИзФайла: УСПЕШНО " + " из " + ПолныйПутьКФайлу);
Иначе
    Сообщить("ЗагрузитьКонфигурациюИзФайла: " + Запуск1С.ТекстОшибки);
    БылиОшибки = Истина;
КонецЕсли;

// Сохраним конфигурацию баз данных в файл
Если Запуск1С.СохранитьКонфигурациюБазыДанныхВФайл(ПолныйПутьКФайлу) Тогда
    Сообщить("СохранитьКонфигурациюБазыДанныхВФайл: УСПЕШНО " + " в " + ПолныйПутьКФайлу);
Иначе
    Сообщить("СохранитьКонфигурациюБазыДанныхВФайл: " + Запуск1С.ТекстОшибки);
    БылиОшибки = Истина;
КонецЕсли;

// Сохраним конфигурацию хранилища в файл
Если Запуск1С.СохранитьКонфигурациюИзХранилищаВФайл(ПолныйПутьКФайлу) Тогда
    Сообщить("СохранитьКонфигурациюИзХранилищаВФайл: УСПЕШНО " + " в " + ПолныйПутьКФайлу);
Иначе
    Сообщить("СохранитьКонфигурациюИзХранилищаВФайл: " + Запуск1С.ТекстОшибки);
    БылиОшибки = Истина;
КонецЕсли;

// Обновим конфигурацию из хранилища
Если Запуск1С.ОбновитьКонфигурациюИзХранилища() Тогда
    Сообщить("ОбновитьКонфигурациюИзХранилища: УСПЕШНО");
Иначе
    Сообщить("ОбновитьКонфигурациюИзХранилища: " + Запуск1С.ТекстОшибки);
    БылиОшибки = Истина;
КонецЕсли;

// Обновим конфигурацию базы данных
Если Запуск1С.ОбновитьКонфигурациюБазыДанных() Тогда
    Сообщить("ОбновитьКонфигурациюБазыДанных: УСПЕШНО");
Иначе
    Сообщить("ОбновитьКонфигурациюБазыДанных: " + Запуск1С.ТекстОшибки);
    БылиОшибки = Истина;
КонецЕсли;

//Проверим, есть ли изменения в основной конфигурации
ЕстьИзменения = Запуск1С.ЕстьИзмененияОсновнойКонфигурации();
Если ЕстьИзменения <> Неопределено Тогда
    Сообщить("ЕстьИзмененияОсновнойКонфигурации: УСПЕШНО, Есть изменения: " + ?(ЕстьИзменения,"Да","Нет"));
Иначе
    Сообщить("ЕстьИзмененияОсновнойКонфигурации: " + Запуск1С.ТекстОшибки);
    БылиОшибки = Истина;
КонецЕсли;

// Подключимся к хранилищу
Если Запуск1С.ПодключитьКонфигурациюКХранилищу() Тогда
    Сообщить("ПодключитьКонфигурациюКХранилищу: УСПЕШНО");
Иначе
    Сообщить("ПодключитьКонфигурациюКХранилищу: " + Запуск1С.ТекстОшибки);
    БылиОшибки = Истина;
КонецЕсли; 

// Выполним очистку локального кэша хранилища конфигурации
Если Запуск1С.ВыполнитьОчисткуЛокальногоКешаХранилища() Тогда
    Сообщить("ВыполнитьОчисткуЛокальногоКешаХранилища: УСПЕШНО");
Иначе
    Сообщить("ВыполнитьОчисткуЛокальногоКешаХранилища: " + Запуск1С.ТекстОшибки);
    БылиОшибки = Истина;
КонецЕсли;

// Выполним очистку локальной базы данных хранилища конфигурации
Если Запуск1С.ВыполнитьОчисткуЛокальнойБазыДанныхХранилища() Тогда
    Сообщить("ВыполнитьОчисткуЛокальнойБазыДанныхХранилища: УСПЕШНО");
Иначе
    Сообщить("ВыполнитьОчисткуЛокальнойБазыДанныхХранилища: " + Запуск1С.ТекстОшибки);
    БылиОшибки = Истина;
КонецЕсли;

// Проверим, есть ли изменения в хранилище конфигураций
ЕстьИзмененияВХранилище = Запуск1С.ЕстьИзмененияВХранилище();
Если ЕстьИзмененияВХранилище <> Неопределено Тогда
    Сообщить("ЕстьИзмененияВХранилище: УСПЕШНО, Есть изменения: " + ?(ЕстьИзмененияВХранилище,"Да","Нет"));
Иначе
    Сообщить("ЕстьИзмененияВХранилище: " + Запуск1С.ТекстОшибки);
    БылиОшибки = Истина;
КонецЕсли;

Если ПараметрыЗапуска.ТипБазы = "S" Тогда // Серверная база	

    // Снимем блокировку пользователей
    Если Запуск1С.СнятьБлокировкуНачалаСеансов() Тогда
        Сообщить("СнятьБлокировкуНачалаСеансов: УСПЕШНО");
    Иначе
        Сообщить("СнятьБлокировкуНачалаСеансов: " + Запуск1С.ТекстОшибки);
        БылиОшибки = Истина;
    КонецЕсли;
    
КонецЕсли;

Доступные версии пакета

В разработке

Репозиторий

https://github.com/oscript-library/TRun1C

Актуальная версия

TRun1C-2018.5.11