From cff189c7e05b71582a30d8b06fa4e98f9dd0ecbb Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 6 Mar 2022 19:11:21 +0300 Subject: [PATCH 1/8] =?UTF-8?q?=D0=92=D1=8B=D1=80=D0=B0=D0=B2=D0=BD=D0=B8?= =?UTF-8?q?=D0=B2=D0=B0=D1=8E=20master=20=D0=B8=20develop,=20=D0=B2=D0=BB?= =?UTF-8?q?=D0=B8=D0=B2=D0=B0=D1=8F=20master=20(#138)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * накидал функцию * вынес допустимые ключи в отдельную функцию Co-authored-by: Nikita Gryzlov Co-authored-by: Голованов Сергей Co-authored-by: Andrei Ovsiankin --- src/v8runner.os | 96 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) diff --git a/src/v8runner.os b/src/v8runner.os index b93c4e4..4fc14b6 100644 --- a/src/v8runner.os +++ b/src/v8runner.os @@ -1459,6 +1459,102 @@ КонецПроцедуры +Функция ПроверкаКонфигурации(Проверки, ИмяРасширения = "") Экспорт + + Перем Параметры, ДопустимыеКлючи, КлючПроверки, КлючЗапуска; + + Параметры = СтандартныеПараметрыЗапускаКонфигуратора(); + + Параметры.Добавить("/CheckConfig"); + + ДопустимыеКлючи = КлючиПроверкиКонфигурации(); + + Для Каждого Проверка Из Проверки Цикл + КлючПроверки = ДопустимыеКлючи.Получить(СокрЛП(Проверка)); + + Если КлючПроверки <> Неопределено Тогда + КлючЗапуска = ?(НРег(КлючПроверки) = "-extension", СтрШаблон("%1 %2", КлючПроверки, ИмяРасширения), КлючПроверки); + Параметры.Добавить(КлючЗапуска); + КонецЕсли; + КонецЦикла; + + ВыполнитьКоманду(Параметры); + + Возврат Истина; +КонецФункции + +Функция КлючиПроверкиКонфигурации() Экспорт + + Перем ДопустимыеКлючи; + + ДопустимыеКлючи = Новый Соответствие; + ДопустимыеКлючи.Вставить("ПроверкаЛогическойЦелостностиКонфигурации", "-ConfigLogIntegrity"); + ДопустимыеКлючи.Вставить("ПоискНекорректныхСсылок", "-IncorrectReferences"); + ДопустимыеКлючи.Вставить("ТонкийКлиент", "-ThinClient"); + ДопустимыеКлючи.Вставить("ВебКлиент", "-WebClient"); + ДопустимыеКлючи.Вставить("Сервер", "-Server"); + ДопустимыеКлючи.Вставить("ВнешнееСоединение", "-ExternalConnection"); + ДопустимыеКлючи.Вставить("ВнешнееСоединениеКлиентСервер", "-ExternalConnectionServer"); + ДопустимыеКлючи.Вставить("МобильноеПриложениеКлиент", "-MobileAppClient"); + ДопустимыеКлючи.Вставить("МобильноеПриложениеСервер", "-MobileAppServer"); + ДопустимыеКлючи.Вставить("ТолстыйКлиентУправляемоеПриложение", "-ThickClientManagedApplication"); + ДопустимыеКлючи.Вставить("ТолстыйКлиентУправляемоеПриложениеКлиентСервер", "-ThickClientServerManagedApplication"); + ДопустимыеКлючи.Вставить("ТолстыйКлиентОбычноеПриложение", "-ThickClientOrdinaryApplication"); + ДопустимыеКлючи.Вставить("ТолстыйКлиентОбычноеПриложениеКлиентСервер", "-ThickClientServerOrdinaryApplication"); + ДопустимыеКлючи.Вставить("ПоставкаМодулейБезИсходныхТекстов", "-DistributiveModules"); + ДопустимыеКлючи.Вставить("ПоискНеиспользуемыхПроцедурИФункций", "-UnreferenceProcedures"); + ДопустимыеКлючи.Вставить("ПроверкаСуществованияНазначенныхОбработчиков", "-HandlersExistence"); + ДопустимыеКлючи.Вставить("ПоискПустыхОбработчиков", "-EmptyHandlers"); + ДопустимыеКлючи.Вставить("РасширеннаяПроверка", "-ExtendedModulesCheck"); + ДопустимыеКлючи.Вставить("ПоискИспользованияМодальности", "-CheckUseModality"); + ДопустимыеКлючи.Вставить("ПоискИспользованияСинхронныхВызовов", "-CheckUseSynchronousCalls"); + ДопустимыеКлючи.Вставить("ПоискНеподдерживаемойФункциональности", "-UnsupportedFunctional"); + ДопустимыеКлючи.Вставить("ВыполнитьЗаданныеПроверкиДляВсехРасширений", "-AllExtensions"); + ДопустимыеКлючи.Вставить("ВыполнитьЗаданныеПроверкиДляУказанногоРасширения", "-Extension"); + + ДопустимыеКлючи.Вставить("ЛогическаяЦелостность", "-ConfigLogIntegrity"); + ДопустимыеКлючи.Вставить("НекорректныеСсылки", "-IncorrectReferences"); + ДопустимыеКлючи.Вставить("ВнешнееСоединениеСервер", "-ExternalConnectionServer"); + ДопустимыеКлючи.Вставить("ТолстыйКлиентУправляемоеПриложениеСервер", "-ThickClientServerManagedApplication"); + ДопустимыеКлючи.Вставить("ТолстыйКлиент", "-ThickClientOrdinaryApplication"); + ДопустимыеКлючи.Вставить("ТолстыйКлиентСервер", "-ThickClientServerOrdinaryApplication"); + ДопустимыеКлючи.Вставить("МодулиБезИсходныхТекстов", "-DistributiveModules"); + ДопустимыеКлючи.Вставить("НеиспользуемыеПроцедурыИФункции", "-UnreferenceProcedures"); + ДопустимыеКлючи.Вставить("НазначенныеОбработчики", "-HandlersExistence"); + ДопустимыеКлючи.Вставить("ПустыеОбработчики", "-EmptyHandlers"); + ДопустимыеКлючи.Вставить("ИспользованиеМодальности", "-CheckUseModality"); + ДопустимыеКлючи.Вставить("ИспользованиеСинхронныхВызовов", "-CheckUseSynchronousCalls"); + ДопустимыеКлючи.Вставить("НеподдерживаемаяФункциональность", "-UnsupportedFunctional"); + ДопустимыеКлючи.Вставить("ВсеРасширения", "-AllExtensions"); + ДопустимыеКлючи.Вставить("Расширение", "-Extension"); + + ДопустимыеКлючи.Вставить("ConfigLogIntegrity", "-ConfigLogIntegrity"); + ДопустимыеКлючи.Вставить("IncorrectReferences", "-IncorrectReferences"); + ДопустимыеКлючи.Вставить("ThinClient", "-ThinClient"); + ДопустимыеКлючи.Вставить("WebClient", "-WebClient"); + ДопустимыеКлючи.Вставить("Server", "-Server"); + ДопустимыеКлючи.Вставить("ExternalConnection", "-ExternalConnection"); + ДопустимыеКлючи.Вставить("ExternalConnectionServer", "-ExternalConnectionServer"); + ДопустимыеКлючи.Вставить("MobileAppClient", "-MobileAppClient"); + ДопустимыеКлючи.Вставить("MobileAppServer", "-MobileAppServer"); + ДопустимыеКлючи.Вставить("ThickClientManagedApplication", "-ThickClientManagedApplication"); + ДопустимыеКлючи.Вставить("ThickClientServerManagedApplication", "-ThickClientServerManagedApplication"); + ДопустимыеКлючи.Вставить("ThickClientOrdinaryApplication", "-ThickClientOrdinaryApplication"); + ДопустимыеКлючи.Вставить("ThickClientServerOrdinaryApplication", "-ThickClientServerOrdinaryApplication"); + ДопустимыеКлючи.Вставить("DistributiveModules", "-DistributiveModules"); + ДопустимыеКлючи.Вставить("UnreferenceProcedures", "-UnreferenceProcedures"); + ДопустимыеКлючи.Вставить("HandlersExistence", "-HandlersExistence"); + ДопустимыеКлючи.Вставить("EmptyHandlers", "-EmptyHandlers"); + ДопустимыеКлючи.Вставить("ExtendedModulesCheck", "-ExtendedModulesCheck"); + ДопустимыеКлючи.Вставить("CheckUseModality", "-CheckUseModality"); + ДопустимыеКлючи.Вставить("CheckUseSynchronousCalls", "-CheckUseSynchronousCalls"); + ДопустимыеКлючи.Вставить("UnsupportedFunctional", "-UnsupportedFunctional"); + ДопустимыеКлючи.Вставить("AllExtensions", "-AllExtensions"); + ДопустимыеКлючи.Вставить("Extension", "-Extension"); + + Возврат ДопустимыеКлючи; +КонецФункции + Процедура ЗапуститьВРежимеПредприятия(Знач КлючЗапуска = "", Знач УправляемыйРежим = Неопределено, Знач ДополнительныеКлючи = Неопределено) Экспорт ПараметрыСвязиСБазой = ПолучитьПараметрыЗапуска(); ПараметрыСвязиСБазой[0] = "ENTERPRISE"; From 06b9c0ca1ef2a1f702e85880502cbc3b5cf00a93 Mon Sep 17 00:00:00 2001 From: Vdovenko Sergey Date: Sun, 13 Mar 2022 09:00:39 +0700 Subject: [PATCH 2/8] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=BB=D0=BE=D0=B3=D0=B8=D0=BA=D0=B0=20=D1=84?= =?UTF-8?q?=D0=BE=D1=80=D0=BC=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D1=81=D1=82=D1=80=D0=BE=D0=BA=D0=B8=20=D1=81=D0=BE?= =?UTF-8?q?=D0=B5=D0=B4=D0=B8=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Сделано для упрощения понимания --- src/v8runner.os | 58 +++++++++++++++++++++++++++++++++++++++ tests/v8runner-test.os | 61 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 119 insertions(+) diff --git a/src/v8runner.os b/src/v8runner.os index 4fc14b6..d5a5428 100644 --- a/src/v8runner.os +++ b/src/v8runner.os @@ -2544,6 +2544,64 @@ КонецФункции +Функция СформироватьСтрокуСоединения(ПараметрыСтрокиСоединения) Экспорт + + Если ТипЗнч(ПараметрыСтрокиСоединения) <> Тип("Структура") Тогда + Возврат ""; + КонецЕсли; + + Если ПараметрыСтрокиСоединения.Свойство("ЭтоФайловыйВариант") Тогда + СтрокаСоединения = СтрШаблон("/F""%1""", ПараметрыСтрокиСоединения.ПутьКБазе); + Иначе + СтрокаСоединения = СтрШаблон( + "/IBConnectionString""Srvr='%1:%2'; Ref='%3'""", + ПараметрыСтрокиСоединения.Сервер, + ПараметрыСтрокиСоединения.Порт, + ПараметрыСтрокиСоединения.ИмяБазы); + КонецЕсли; + + Возврат СтрокаСоединения; + +КонецФункции + +// возвращает параметры строки соединения с файловой базой +// +// Возвращаемое значение: +// - Структура +// * ПутьКБазе - Строка +// * ЭтоФайловыйВариант - Строка - служебный ключ, что это параметры файловой базы +// +Функция ПараметрыСтрокиСоединения_ФайловыйВариант() Экспорт + + ПараметрыСтрокиСоединения = Новый Структура; + + ПараметрыСтрокиСоединения.Вставить("ПутьКбазе", ""); + ПараметрыСтрокиСоединения.Вставить("ЭтоФайловыйВариант", Истина); + + Возврат ПараметрыСтрокиСоединения; + +КонецФункции + +// возвращает параметры строки соединения с базой на сервере +// +// Возвращаемое значение: +// - Структура +// * Сервер - Строка +// * Порт - Строка +// * ИмяБазы - Строка +// +Функция ПараметрыСтрокиСоединения_СерверныйВариант() Экспорт + + ПараметрыСтрокиСоединения = Новый Структура; + + ПараметрыСтрокиСоединения.Вставить("Сервер", ""); + ПараметрыСтрокиСоединения.Вставить("Порт", ""); + ПараметрыСтрокиСоединения.Вставить("ИмяБазы", ""); + + Возврат ПараметрыСтрокиСоединения; + +КонецФункции + #КонецОбласти Лог = Логирование.ПолучитьЛог("oscript.lib.v8runner"); diff --git a/tests/v8runner-test.os b/tests/v8runner-test.os index dd7bdff..773fdad 100644 --- a/tests/v8runner-test.os +++ b/tests/v8runner-test.os @@ -35,6 +35,11 @@ СписокТестов.Добавить("ТестДолжен_ПроверитьКонфигурацияРасширенияИдентичнаФайлу"); СписокТестов.Добавить("ТестДолжен_ОставитьФайлИнформации"); + СписокТестов.Добавить("ТестДолжен_ПолучитьПараметрыСтрокиСоединенияСФайловойБазой"); + СписокТестов.Добавить("ТестДолжен_СформироватьСтрокуСоединенияСФайловойБазой"); + СписокТестов.Добавить("ТестДолжен_ПолучитьПараметрыСтрокиСоединенияССервернойБазой"); + СписокТестов.Добавить("ТестДолжен_СформироватьСтрокуСоединенияССервернойБазой"); + Возврат СписокТестов; КонецФункции @@ -516,6 +521,62 @@ КонецПроцедуры + +Процедура ТестДолжен_ПолучитьПараметрыСтрокиСоединенияСФайловойБазой() Экспорт + + ПоУмолчанию = ТекущийКаталог(); + + ПараметрыСтрокиСоединения = УправлениеКонфигуратором.ПараметрыСтрокиСоединения_ФайловыйВариант(); + Утверждения.Проверить(ПараметрыСтрокиСоединения.Свойство("ПутьКБазе"), "Стркутура должна содержать ключ 'ПутьКФайлу'"); + +КонецПроцедуры + +Процедура ТестДолжен_СформироватьСтрокуСоединенияСФайловойБазой() Экспорт + + ПоУмолчанию = ТекущийКаталог(); + СтрокаСоединенияЭталон = "/F'D:\1c\1cv8.dt'"; + + ПараметрыСтрокиСоединения = УправлениеКонфигуратором.ПараметрыСтрокиСоединения_ФайловыйВариант(); + ПараметрыСтрокиСоединения.ПутьКБазе = "D:\1c\1cv8.dt"; + СтрокаСоединения = УправлениеКонфигуратором.СформироватьСтрокуСоединения(ПараметрыСтрокиСоединения); + + ТестОшибки = СтрШаблон("Строка соединения %1 НЕ совпадает с эталоном %2", СтрокаСоединения, СтрокаСоединенияЭталон); + + Утверждения.ПроверитьРавенство(СтрокаСоединения, СтрокаСоединенияЭталон, ТестОшибки); + +КонецПроцедуры + +Процедура ТестДолжен_ПолучитьПараметрыСтрокиСоединенияССервернойБазой() Экспорт + + ПоУмолчанию = ТекущийКаталог(); + + ПараметрыСтрокиСоединения = УправлениеКонфигуратором.ПараметрыСтрокиСоединения_СерверныйВариант(); + Утверждения.Проверить(ПараметрыСтрокиСоединения.Свойство("Сервер"), "Стркутура должна содержать ключ 'Сервер'"); + Утверждения.Проверить(ПараметрыСтрокиСоединения.Свойство("Порт"), "Стркутура должна содержать ключ 'Порт'"); + Утверждения.Проверить(ПараметрыСтрокиСоединения.Свойство("ИмяБазы"), "Стркутура должна содержать ключ 'ИмяБазы'"); + +КонецПроцедуры + +Процедура ТестДолжен_СформироватьСтрокуСоединенияССервернойБазой() Экспорт + + ПоУмолчанию = ТекущийКаталог(); + СтрокаСоединенияЭталон = "/IBConnectionString""Srvr='someserver:2041'; Ref='database'"""; + + ПараметрыСтрокиСоединения = УправлениеКонфигуратором.ПараметрыСтрокиСоединения_СерверныйВариант(); + ПараметрыСтрокиСоединения.Сервер = "someserver"; + ПараметрыСтрокиСоединения.Порт = "2041"; + ПараметрыСтрокиСоединения.ИмяБазы = "database"; + + СтрокаСоединения = УправлениеКонфигуратором.СформироватьСтрокуСоединения(ПараметрыСтрокиСоединения); + + ТестОшибки = СтрШаблон("Строка соединения %1 НЕ совпадает с эталоном %2", СтрокаСоединения, СтрокаСоединенияЭталон); + + Утверждения.ПроверитьРавенство(СтрокаСоединения, СтрокаСоединенияЭталон, ТестОшибки); + +КонецПроцедуры + + + Функция ХранилищеКонфигурацииСуществует(Знач ПапкаХранилища) Возврат ФС.ФайлСуществует( ОбъединитьПути(ПапкаХранилища, "1cv8ddb.1CD")); КонецФункции From c8de94c0e84fe3daa7bd1e2f05b92e73fa1c7a1b Mon Sep 17 00:00:00 2001 From: Vdovenko Sergey Date: Sun, 13 Mar 2022 12:43:21 +0700 Subject: [PATCH 3/8] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=B0=D0=BD=20=D0=B0=D0=BB=D0=B3=D0=BE=D1=80=D0=B8=D1=82=D0=BC?= =?UTF-8?q?=20=D1=84=D0=BE=D1=80=D0=BC=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D1=81=D1=82=D1=80=D0=BE=D0=BA=D0=B8=20=D1=81?= =?UTF-8?q?=D0=BE=D0=B5=D0=B4=D0=B8=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B8?= =?UTF-8?q?=D0=B7=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80=D0=BE?= =?UTF-8?q?=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Дополнен файл описания Оптимизированы алгоритмы формирования строки Поправлены тесты под новую логику --- readme.md | 22 +- src/v8runner.os | 40 ++- tests/v8runner-test.os | 580 ++++++++++++++++++++--------------------- 3 files changed, 326 insertions(+), 316 deletions(-) diff --git a/readme.md b/readme.md index f71df3f..7d3afc2 100644 --- a/readme.md +++ b/readme.md @@ -19,18 +19,38 @@ Каждая команда конфигуратора может выполняться только для конкретной информационной базы. База, для которой выполняется команда называется контекстом команды. -Контекст указывается в формате **параметра командной строки конфигуратора** - так, как в Конфигураторе задается нужная информационная база. Например, для формата строки соединения: +Контекст указывается в формате **параметра командной строки конфигуратора** (так, как в Конфигураторе задается нужная информационная база) или в виде специальной структуры. Например, для формата строки соединения: ```bsl Конфигуратор.УстановитьКонтекст("/IBConnectionString""Srvr=someserver:2041; Ref='database'""","Admin", "passw0rd"); ``` +ИЛИ + +```bsl +ПараметрыСтрокиСоединения = Конфигуратор.ПараметрыСтрокиСоединения(); +ПараметрыСтрокиСоединения.Сервер = "someserver"; +ПараметрыСтрокиСоединения.Порт = 2041; +ПараметрыСтрокиСоединения.ИмяБазы = "database"; + +Конфигуратор.УстановитьКонтекст(ПараметрыСтрокиСоединения,"Admin", "passw0rd"); +``` + В более простой форме - для файловой базы можно указать через ключ ```/F```: ```bsl Конфигуратор.УстановитьКонтекст("/FC:\1cdb\mydatabase","Admin", "passw0rd"); ``` +ИЛИ + +```bsl +ПараметрыСтрокиСоединения = Конфигуратор.ПараметрыСтрокиСоединения(); +ПараметрыСтрокиСоединения.ПутьКБазе = "C:\1cdb\mydatabase"; + +Конфигуратор.УстановитьКонтекст(ПараметрыСтрокиСоединения, "Admin", "passw0rd"); +``` + Далее, вы вызываете методы объекта "Конфигуратор", соответствующие командам конфигуратора. Все команды будут выполняться над заданной базой. Теперь, объект Конфигуратор настроен на некий *"контекст"* - информационную базу, с которой и будут производиться все операции. ### Временный контекст diff --git a/src/v8runner.os b/src/v8runner.os index d5a5428..f335c43 100644 --- a/src/v8runner.os +++ b/src/v8runner.os @@ -34,7 +34,13 @@ #Область ПрограммыйИнтерфейс Процедура УстановитьКонтекст(Знач СтрокаСоединения, Знач Пользователь, Знач Пароль) Экспорт - мКонтекстКоманды.КлючСоединенияСБазой = СтрокаСоединения; + + Если ТипЗнч(СтрокаСоединения) = Тип("Структура") Тогда + мКонтекстКоманды.КлючСоединенияСБазой = СформироватьСтрокуСоединения(СтрокаСоединения); + Иначе + мКонтекстКоманды.КлючСоединенияСБазой = СтрокаСоединения; + КОнецЕсли; + мКонтекстКоманды.ИмяПользователя = Пользователь; мКонтекстКоманды.Пароль = Пароль; @@ -2547,11 +2553,11 @@ Функция СформироватьСтрокуСоединения(ПараметрыСтрокиСоединения) Экспорт Если ТипЗнч(ПараметрыСтрокиСоединения) <> Тип("Структура") Тогда - Возврат ""; + Возврат ПараметрыСтрокиСоединения; КонецЕсли; - Если ПараметрыСтрокиСоединения.Свойство("ЭтоФайловыйВариант") Тогда - СтрокаСоединения = СтрШаблон("/F""%1""", ПараметрыСтрокиСоединения.ПутьКБазе); + Если ПараметрыСтрокиСоединения.ПутьКФайлуБазы <> "" Тогда + СтрокаСоединения = СтрШаблон("/F""%1""", ПараметрыСтрокиСоединения.ПутьКФайлуБазы); Иначе СтрокаСоединения = СтрШаблон( "/IBConnectionString""Srvr='%1:%2'; Ref='%3'""", @@ -2564,36 +2570,20 @@ КонецФункции -// возвращает параметры строки соединения с файловой базой -// -// Возвращаемое значение: -// - Структура -// * ПутьКБазе - Строка -// * ЭтоФайловыйВариант - Строка - служебный ключ, что это параметры файловой базы -// -Функция ПараметрыСтрокиСоединения_ФайловыйВариант() Экспорт - - ПараметрыСтрокиСоединения = Новый Структура; - - ПараметрыСтрокиСоединения.Вставить("ПутьКбазе", ""); - ПараметрыСтрокиСоединения.Вставить("ЭтоФайловыйВариант", Истина); - - Возврат ПараметрыСтрокиСоединения; - -КонецФункции - -// возвращает параметры строки соединения с базой на сервере +// возвращает параметры строки соединения с базой // // Возвращаемое значение: // - Структура +// * Путь к файлу базы - строка - путь к базе в файловом варианте; если задан - остальные параметры игнорируются // * Сервер - Строка // * Порт - Строка // * ИмяБазы - Строка // -Функция ПараметрыСтрокиСоединения_СерверныйВариант() Экспорт +Функция ПараметрыСтрокиСоединения() Экспорт ПараметрыСтрокиСоединения = Новый Структура; - + + ПараметрыСтрокиСоединения.Вставить("ПутьКФайлуБазы", ""); ПараметрыСтрокиСоединения.Вставить("Сервер", ""); ПараметрыСтрокиСоединения.Вставить("Порт", ""); ПараметрыСтрокиСоединения.Вставить("ИмяБазы", ""); diff --git a/tests/v8runner-test.os b/tests/v8runner-test.os index 773fdad..25c6076 100644 --- a/tests/v8runner-test.os +++ b/tests/v8runner-test.os @@ -13,7 +13,7 @@ УправлениеКонфигуратором = Новый УправлениеКонфигуратором; Лог = Логирование.ПолучитьЛог("oscript.lib.v8runner"); Лог.УстановитьУровень(УровниЛога.Отладка); - + КонецПроцедуры Функция ПолучитьСписокТестов(Тестирование) Экспорт @@ -27,37 +27,37 @@ СписокТестов.Добавить("ТестДолжен_ПроверитьУстановкуЯзыкаИнтерфейса"); СписокТестов.Добавить("ТестДолжен_СоздатьХранилищеКонфигурации"); СписокТестов.Добавить("ТестДолжен_ПроверитьСозданиеФайловПоставки"); - СписокТестов.Добавить("ТестДолжен_ПроверитьФормированиеФайлаОтчетПоВерсиямХранилища"); - СписокТестов.Добавить("ТестДолжен_СкопироватьПользователейИзХранилища"); - СписокТестов.Добавить("ТестДолжен_ПроверитьФормированиеФайлаОтчетаОСравненииОсновнойКонфигурацииСФайлом"); + СписокТестов.Добавить("ТестДолжен_ПроверитьФормированиеФайлаОтчетПоВерсиямХранилища"); + СписокТестов.Добавить("ТестДолжен_СкопироватьПользователейИзХранилища"); + СписокТестов.Добавить("ТестДолжен_ПроверитьФормированиеФайлаОтчетаОСравненииОсновнойКонфигурацииСФайлом"); СписокТестов.Добавить("ТестДолжен_ПроверитьОсновнаяКонфигурацияИдентичнаФайлу"); СписокТестов.Добавить("ТестДолжен_ПроверитьФормированиеФайлаОтчетаОСравненииКонфигурацииРасширенияСФайлом"); - СписокТестов.Добавить("ТестДолжен_ПроверитьКонфигурацияРасширенияИдентичнаФайлу"); - СписокТестов.Добавить("ТестДолжен_ОставитьФайлИнформации"); - + СписокТестов.Добавить("ТестДолжен_ПроверитьКонфигурацияРасширенияИдентичнаФайлу"); + СписокТестов.Добавить("ТестДолжен_ОставитьФайлИнформации"); + СписокТестов.Добавить("ТестДолжен_ПолучитьПараметрыСтрокиСоединенияСФайловойБазой"); СписокТестов.Добавить("ТестДолжен_СформироватьСтрокуСоединенияСФайловойБазой"); СписокТестов.Добавить("ТестДолжен_ПолучитьПараметрыСтрокиСоединенияССервернойБазой"); СписокТестов.Добавить("ТестДолжен_СформироватьСтрокуСоединенияССервернойБазой"); - + Возврат СписокТестов; КонецФункции Процедура ПослеЗапускаТеста() Экспорт - - Если ЗначениеЗаполнено( ВременныйКаталог ) Тогда - - Утверждения.ПроверитьИстину( НайтиФайлы( ВременныйКаталог, "*").Количество() = 0, "Во временном каталоге " + ВременныйКаталог + " не должно остаться файлов" ); - ВременныеФайлы.УдалитьФайл( ВременныйКаталог ); - - Утверждения.ПроверитьИстину( Не ФС.КаталогСуществует(ВременныйКаталог), "Временный каталог должен быть удален"); - + Если ЗначениеЗаполнено(ВременныйКаталог) Тогда + + Утверждения.ПроверитьИстину(НайтиФайлы(ВременныйКаталог, "*").Количество() = 0, "Во временном каталоге " + ВременныйКаталог + " не должно остаться файлов"); + + ВременныеФайлы.УдалитьФайл(ВременныйКаталог); + + Утверждения.ПроверитьИстину(Не ФС.КаталогСуществует(ВременныйКаталог), "Временный каталог должен быть удален"); + ВременныйКаталог = ""; - + КонецЕсли; - + КонецПроцедуры Процедура ТестДолжен_ИзменитьКаталогСборки() Экспорт @@ -72,107 +72,107 @@ КонецПроцедуры Процедура ТестДолжен_СоздатьВременнуюБазу() Экспорт - + УправлениеКонфигуратором.УдалитьВременнуюБазу(); - Утверждения.ПроверитьЛожь(УправлениеКонфигуратором.ВременнаяБазаСуществует(), "Временной базы не должно быть в каталоге <"+УправлениеКонфигуратором.ПутьКВременнойБазе()+">"); + Утверждения.ПроверитьЛожь(УправлениеКонфигуратором.ВременнаяБазаСуществует(), "Временной базы не должно быть в каталоге <" + УправлениеКонфигуратором.ПутьКВременнойБазе() + ">"); УправлениеКонфигуратором.СоздатьФайловуюБазу(УправлениеКонфигуратором.ПутьКВременнойБазе()); Сообщить(УправлениеКонфигуратором.ВыводКоманды()); Утверждения.ПроверитьИстину(УправлениеКонфигуратором.ВременнаяБазаСуществует(), "Временная база должна существовать"); УправлениеКонфигуратором.УдалитьВременнуюБазу(); - Утверждения.ПроверитьИстину( Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать"); - + Утверждения.ПроверитьИстину(Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать"); + КонецПроцедуры Процедура ТестДолжен_СоздатьХранилищеКонфигурации() Экспорт ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); - + УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); - + КаталогВременногоХранилища = ОбъединитьПути(ВременныйКаталог, "v8r_TempRepository"); - + ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); - + УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); // по идеи надо проверить что конфигурация загружена. // Вопрос как? УправлениеКонфигуратором.СоздатьФайловоеХранилищеКонфигурации( - КаталогВременногоХранилища, - "Администратор"); + КаталогВременногоХранилища, + "Администратор"); Утверждения.ПроверитьИстину(ХранилищеКонфигурацииСуществует(КаталогВременногоХранилища), "Временное хранилище конфигурации должно существовать"); - Утверждения.ПроверитьИстину( Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать"); - - ВременныеФайлы.УдалитьФайл( КаталогВременногоХранилища ); + Утверждения.ПроверитьИстину(Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать"); + + ВременныеФайлы.УдалитьФайл(КаталогВременногоХранилища); УправлениеКонфигуратором.УдалитьВременнуюБазу(); КонецПроцедуры Процедура ТестДолжен_ПроверитьФормированиеФайлаОтчетПоВерсиямХранилища() Экспорт - - ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); - - УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); + + ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); + + УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); ПутьКФайлуОтчета = ПолучитьИмяВременногоФайла("mxl"); - + КаталогВременногоХранилища = ОбъединитьПути(ВременныйКаталог, "v8r_TempRepository"); - - ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); - - - УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); - УправлениеКонфигуратором.СоздатьФайловоеХранилищеКонфигурации( - КаталогВременногоХранилища, - "Администратор"); - Ожидаем.Что(ХранилищеКонфигурацииСуществует(КаталогВременногоХранилища), "Временное хранилище конфигурации должно существовать"); - - УправлениеКонфигуратором.ПолучитьОтчетПоВерсиямИзХранилища(КаталогВременногоХранилища, "Администратор", , ПутьКФайлуОтчета); - Ожидаем.Что( ФС.ФайлСуществует( ПутьКФайлуОтчета ) , "Отчет из хранилища конфигурации должен существовать"); - - Утверждения.ПроверитьИстину( Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать"); - - ВременныеФайлы.УдалитьФайл( ПутьКФайлуОтчета ); - ВременныеФайлы.УдалитьФайл( КаталогВременногоХранилища ); - УправлениеКонфигуратором.УдалитьВременнуюБазу(); - + + ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); + + + УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); + УправлениеКонфигуратором.СоздатьФайловоеХранилищеКонфигурации( + КаталогВременногоХранилища, + "Администратор"); + Ожидаем.Что(ХранилищеКонфигурацииСуществует(КаталогВременногоХранилища), "Временное хранилище конфигурации должно существовать"); + + УправлениеКонфигуратором.ПолучитьОтчетПоВерсиямИзХранилища(КаталогВременногоХранилища, "Администратор", , ПутьКФайлуОтчета); + Ожидаем.Что(ФС.ФайлСуществует(ПутьКФайлуОтчета), "Отчет из хранилища конфигурации должен существовать"); + + Утверждения.ПроверитьИстину(Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать"); + + ВременныеФайлы.УдалитьФайл(ПутьКФайлуОтчета); + ВременныеФайлы.УдалитьФайл(КаталогВременногоХранилища); + УправлениеКонфигуратором.УдалитьВременнуюБазу(); + КонецПроцедуры Процедура ТестДолжен_ПроверитьСозданиеФайловПоставки() Экспорт ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); - + УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); - + КаталогПоставки = ОбъединитьПути(ВременныйКаталог, "v8r_TempDitr"); ПутьФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); НомерВерсииВыпуска = "1.0"; - ПутьФайлПредыдущейПоставки = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "0.9", "1Cv8.cf"); - - ПутьФайлПолнойПоставки = ОбъединитьПути(КаталогПоставки, НомерВерсииВыпуска +".cf"); + ПутьФайлПредыдущейПоставки = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "0.9", "1Cv8.cf"); + + ПутьФайлПолнойПоставки = ОбъединитьПути(КаталогПоставки, НомерВерсииВыпуска + ".cf"); - ПутьФайлаПоставкиОбновления = ОбъединитьПути(КаталогПоставки, НомерВерсииВыпуска+".cfu"); + ПутьФайлаПоставкиОбновления = ОбъединитьПути(КаталогПоставки, НомерВерсииВыпуска + ".cfu"); МассивФайловПредыдущейПоставки = Новый Массив; МассивФайловПредыдущейПоставки.Добавить(ПутьФайлПредыдущейПоставки); - + УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ПутьФайлКонфигурации, Истина); УправлениеКонфигуратором.СоздатьФайлыПоставки(ПутьФайлПолнойПоставки, - ПутьФайлаПоставкиОбновления, - МассивФайловПредыдущейПоставки); + ПутьФайлаПоставкиОбновления, + МассивФайловПредыдущейПоставки); Утверждения.ПроверитьИстину(ФС.ФайлСуществует(ПутьФайлПолнойПоставки), "Файл полной поставки конфигурации должен существовать"); Утверждения.ПроверитьИстину(ФС.ФайлСуществует(ПутьФайлаПоставкиОбновления), "Файл частичной поставки конфигурации должен существовать"); - Утверждения.ПроверитьИстину( Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать"); + Утверждения.ПроверитьИстину(Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать"); - ВременныеФайлы.УдалитьФайл( ПутьФайлПолнойПоставки ); - ВременныеФайлы.УдалитьФайл( ПутьФайлаПоставкиОбновления ); - ВременныеФайлы.УдалитьФайл( КаталогПоставки ); + ВременныеФайлы.УдалитьФайл(ПутьФайлПолнойПоставки); + ВременныеФайлы.УдалитьФайл(ПутьФайлаПоставкиОбновления); + ВременныеФайлы.УдалитьФайл(КаталогПоставки); УправлениеКонфигуратором.УдалитьВременнуюБазу(); КонецПроцедуры @@ -203,341 +203,341 @@ УправлениеКонфигуратором.УстановитьКодЯзыка(ПоУмолчанию); МассивПараметров = УправлениеКонфигуратором.ПолучитьПараметрыЗапуска(); - Утверждения.ПроверитьБольшеИлиРавно(МассивПараметров.Найти("/L"+ПоУмолчанию), 0, "Массив параметров запуска должен содержать локализацию /L"+ПоУмолчанию + " строка:"+Строка(МассивПараметров)); - Утверждения.ПроверитьБольшеИлиРавно(МассивПараметров.Найти("/VL"+ПоУмолчанию), 0, "Массив запуска должен содержать локализацию сеанаса /VL"+ПоУмолчанию + " строка:"+Строка(МассивПараметров)); + Утверждения.ПроверитьБольшеИлиРавно(МассивПараметров.Найти("/L" + ПоУмолчанию), 0, "Массив параметров запуска должен содержать локализацию /L" + ПоУмолчанию + " строка:" + Строка(МассивПараметров)); + Утверждения.ПроверитьБольшеИлиРавно(МассивПараметров.Найти("/VL" + ПоУмолчанию), 0, "Массив запуска должен содержать локализацию сеанаса /VL" + ПоУмолчанию + " строка:" + Строка(МассивПараметров)); КонецПроцедуры Процедура ТестДолжен_ДобавитьПользователяВХранилище() Экспорт - - ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); - УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); - - КаталогВременногоХранилища = ОбъединитьПути(ВременныйКаталог, "v8r_TempRepository"); - - ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); - - - УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); - УправлениеКонфигуратором.СоздатьФайловоеХранилищеКонфигурации( - КаталогВременногоХранилища, - "Администратор"); - Утверждения.ПроверитьИстину(ХранилищеКонфигурацииСуществует(КаталогВременногоХранилища), "Временное хранилище конфигурации должно существовать"); - - НовыйПользователь = "ТестовыйПользователь"; - ПарольПользователя = "ТестПароль"; - УправлениеКонфигуратором.ДобавитьПользователяВХранилище(КаталогВременногоХранилища, - "Администратор", - "", - НовыйПользователь, - ПарольПользователя, - ПраваПользователяХранилища.ТолькоЧтение, - Истина); - - ПутьКФайлуВерсии = УправлениеКонфигуратором.ПолучитьВерсиюИзХранилища(КаталогВременногоХранилища, НовыйПользователь, ПарольПользователя); - - Утверждения.ПроверитьИстину(ФС.ФайлСуществует(ПутьКФайлуВерсии), "Файл конфигурации из хранилища должен существовать"); - Утверждения.ПроверитьИстину( Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать"); - - ВременныеФайлы.УдалитьФайл( КаталогВременногоХранилища ); - ВременныеФайлы.УдалитьФайл( ПутьКФайлуВерсии ); - УправлениеКонфигуратором.УдалитьВременнуюБазу(); - + + ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); + УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); + + КаталогВременногоХранилища = ОбъединитьПути(ВременныйКаталог, "v8r_TempRepository"); + + ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); + + + УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); + УправлениеКонфигуратором.СоздатьФайловоеХранилищеКонфигурации( + КаталогВременногоХранилища, + "Администратор"); + Утверждения.ПроверитьИстину(ХранилищеКонфигурацииСуществует(КаталогВременногоХранилища), "Временное хранилище конфигурации должно существовать"); + + НовыйПользователь = "ТестовыйПользователь"; + ПарольПользователя = "ТестПароль"; + УправлениеКонфигуратором.ДобавитьПользователяВХранилище(КаталогВременногоХранилища, + "Администратор", + "", + НовыйПользователь, + ПарольПользователя, + ПраваПользователяХранилища.ТолькоЧтение, + Истина); + + ПутьКФайлуВерсии = УправлениеКонфигуратором.ПолучитьВерсиюИзХранилища(КаталогВременногоХранилища, НовыйПользователь, ПарольПользователя); + + Утверждения.ПроверитьИстину(ФС.ФайлСуществует(ПутьКФайлуВерсии), "Файл конфигурации из хранилища должен существовать"); + Утверждения.ПроверитьИстину(Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать"); + + ВременныеФайлы.УдалитьФайл(КаталогВременногоХранилища); + ВременныеФайлы.УдалитьФайл(ПутьКФайлуВерсии); + УправлениеКонфигуратором.УдалитьВременнуюБазу(); + КонецПроцедуры Процедура ТестДолжен_СкопироватьПользователейИзХранилища() Экспорт - - ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); - УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); - - КаталогВременногоХранилища = ОбъединитьПути(ВременныйКаталог, "v8r_TempRepository"); - - ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); - - - УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); - УправлениеКонфигуратором.СоздатьФайловоеХранилищеКонфигурации( - КаталогВременногоХранилища, - "Администратор", - "ПарольАдминистратора"); - Утверждения.ПроверитьИстину(ХранилищеКонфигурацииСуществует(КаталогВременногоХранилища), "Временное хранилище конфигурации должно существовать"); - - НовыйПользователь = "ТестовыйПользователь"; - ПарольПользователя = "123"; - УправлениеКонфигуратором.ДобавитьПользователяВХранилище(КаталогВременногоХранилища, - "Администратор", - "ПарольАдминистратора", - НовыйПользователь, - ПарольПользователя, - ПраваПользователяХранилища.ТолькоЧтение, - Истина); - - ПутьКФайлуВерсии = УправлениеКонфигуратором.ПолучитьВерсиюИзХранилища(КаталогВременногоХранилища, НовыйПользователь, ПарольПользователя); - - Утверждения.ПроверитьИстину(ФС.ФайлСуществует(ПутьКФайлуВерсии), "Файл конфигурации из хранилища должен существовать"); - - КаталогВременногоХранилища2 = ОбъединитьПути(ВременныйКаталог, "v8r_TempRepository2"); - - ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); - - - УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); - УправлениеКонфигуратором.СоздатьФайловоеХранилищеКонфигурации( - КаталогВременногоХранилища2, - "Администратор2", - "ПарольАдминистратора2"); - Утверждения.ПроверитьИстину(ХранилищеКонфигурацииСуществует(КаталогВременногоХранилища2), "Временное хранилище 2 конфигурации должно существовать"); - - УправлениеКонфигуратором.КопироватьПользователейИзХранилища(КаталогВременногоХранилища2, - "Администратор2", - "ПарольАдминистратора2", - КаталогВременногоХранилища, - "Администратор", - "ПарольАдминистратора", - Истина); - - ПутьКФайлуВерсии = УправлениеКонфигуратором.ПолучитьВерсиюИзХранилища(КаталогВременногоХранилища2, НовыйПользователь, ПарольПользователя); - - Утверждения.ПроверитьИстину(ФС.ФайлСуществует(ПутьКФайлуВерсии), "Файл конфигурации из хранилища должен существовать"); - Утверждения.ПроверитьИстину( Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать"); - - ВременныеФайлы.УдалитьФайл( КаталогВременногоХранилища ); - ВременныеФайлы.УдалитьФайл( КаталогВременногоХранилища2 ); - ВременныеФайлы.УдалитьФайл( ПутьКФайлуВерсии ); - УправлениеКонфигуратором.УдалитьВременнуюБазу(); - + + ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); + УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); + + КаталогВременногоХранилища = ОбъединитьПути(ВременныйКаталог, "v8r_TempRepository"); + + ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); + + + УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); + УправлениеКонфигуратором.СоздатьФайловоеХранилищеКонфигурации( + КаталогВременногоХранилища, + "Администратор", + "ПарольАдминистратора"); + Утверждения.ПроверитьИстину(ХранилищеКонфигурацииСуществует(КаталогВременногоХранилища), "Временное хранилище конфигурации должно существовать"); + + НовыйПользователь = "ТестовыйПользователь"; + ПарольПользователя = "123"; + УправлениеКонфигуратором.ДобавитьПользователяВХранилище(КаталогВременногоХранилища, + "Администратор", + "ПарольАдминистратора", + НовыйПользователь, + ПарольПользователя, + ПраваПользователяХранилища.ТолькоЧтение, + Истина); + + ПутьКФайлуВерсии = УправлениеКонфигуратором.ПолучитьВерсиюИзХранилища(КаталогВременногоХранилища, НовыйПользователь, ПарольПользователя); + + Утверждения.ПроверитьИстину(ФС.ФайлСуществует(ПутьКФайлуВерсии), "Файл конфигурации из хранилища должен существовать"); + + КаталогВременногоХранилища2 = ОбъединитьПути(ВременныйКаталог, "v8r_TempRepository2"); + + ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); + + + УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); + УправлениеКонфигуратором.СоздатьФайловоеХранилищеКонфигурации( + КаталогВременногоХранилища2, + "Администратор2", + "ПарольАдминистратора2"); + Утверждения.ПроверитьИстину(ХранилищеКонфигурацииСуществует(КаталогВременногоХранилища2), "Временное хранилище 2 конфигурации должно существовать"); + + УправлениеКонфигуратором.КопироватьПользователейИзХранилища(КаталогВременногоХранилища2, + "Администратор2", + "ПарольАдминистратора2", + КаталогВременногоХранилища, + "Администратор", + "ПарольАдминистратора", + Истина); + + ПутьКФайлуВерсии = УправлениеКонфигуратором.ПолучитьВерсиюИзХранилища(КаталогВременногоХранилища2, НовыйПользователь, ПарольПользователя); + + Утверждения.ПроверитьИстину(ФС.ФайлСуществует(ПутьКФайлуВерсии), "Файл конфигурации из хранилища должен существовать"); + Утверждения.ПроверитьИстину(Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать"); + + ВременныеФайлы.УдалитьФайл(КаталогВременногоХранилища); + ВременныеФайлы.УдалитьФайл(КаталогВременногоХранилища2); + ВременныеФайлы.УдалитьФайл(ПутьКФайлуВерсии); + УправлениеКонфигуратором.УдалитьВременнуюБазу(); + КонецПроцедуры Процедура ТестДолжен_ОставитьФайлИнформации() Экспорт ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); - + // Переинициализация класса, чтобы предыдущие установки не влияли на чистоту теста УправлениеКонфигуратором = Новый УправлениеКонфигуратором; - + внешнийФайлИнформации = ВременныеФайлы.СоздатьФайл(); - УправлениеКонфигуратором.УстановитьИмяФайлаСообщенийПлатформы( внешнийФайлИнформации ); - + УправлениеКонфигуратором.УстановитьИмяФайлаСообщенийПлатформы(внешнийФайлИнформации); + УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); - + КаталогВременногоХранилища = ОбъединитьПути(ВременныйКаталог, "v8r_TempRepository"); - + ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); УправлениеКонфигуратором.СоздатьФайловоеХранилищеКонфигурации( - КаталогВременногоХранилища, - "Администратор"); - + КаталогВременногоХранилища, + "Администратор"); + Утверждения.ПроверитьИстину(ФС.ФайлСуществует(внешнийФайлИнформации), "Внешний файл информации должен существовать"); - + текстВывода = УправлениеКонфигуратором.ВыводКоманды(); - + Чтение = Новый ЧтениеТекста(внешнийФайлИнформации); текстВФайле = Чтение.Прочитать(); Чтение.Закрыть(); - - Утверждения.ПроверитьРавенство( текстВФайле, текстВывода, "Вывод и текст файла должны совпадать"); - Утверждения.ПроверитьРавенство( внешнийФайлИнформации, УправлениеКонфигуратором.ФайлИнформации(), "Внешний файл и файл информации должны совпадать"); - - ВременныеФайлы.УдалитьФайл( КаталогВременногоХранилища ); - ВременныеФайлы.УдалитьФайл( внешнийФайлИнформации ); + + Утверждения.ПроверитьРавенство(текстВФайле, текстВывода, "Вывод и текст файла должны совпадать"); + Утверждения.ПроверитьРавенство(внешнийФайлИнформации, УправлениеКонфигуратором.ФайлИнформации(), "Внешний файл и файл информации должны совпадать"); + + ВременныеФайлы.УдалитьФайл(КаталогВременногоХранилища); + ВременныеФайлы.УдалитьФайл(внешнийФайлИнформации); УправлениеКонфигуратором.УдалитьВременнуюБазу(); - + // Переинициализация класса, чтобы предыдущие установки не влияли на чистоту теста УправлениеКонфигуратором = Новый УправлениеКонфигуратором; - + внешнийФайлИнформацииДописываемый = ВременныеФайлы.СоздатьФайл(); - УправлениеКонфигуратором.УстановитьИмяФайлаСообщенийПлатформы( внешнийФайлИнформацииДописываемый, Ложь ); - + УправлениеКонфигуратором.УстановитьИмяФайлаСообщенийПлатформы(внешнийФайлИнформацииДописываемый, Ложь); + текстКоторыйУжеЛежитВФайле = "Very important text in file. Do not delete."; - + СистемнаяИнформация = Новый СистемнаяИнформация; ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0; - + Кодировка = ?(ЭтоWindows, КодировкаТекста.ANSI, "utf-8"); ЗаписьТекста = Новый ЗаписьТекста(внешнийФайлИнформацииДописываемый, Кодировка); - ЗаписьТекста.ЗаписатьСтроку( текстКоторыйУжеЛежитВФайле ); + ЗаписьТекста.ЗаписатьСтроку(текстКоторыйУжеЛежитВФайле); ЗаписьТекста.Закрыть(); - + УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); - + КаталогВременногоХранилища = ОбъединитьПути(ВременныйКаталог, "v8r_TempRepository"); - + ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); УправлениеКонфигуратором.СоздатьФайловоеХранилищеКонфигурации( - КаталогВременногоХранилища, - "Администратор"); - + КаталогВременногоХранилища, + "Администратор"); + Утверждения.ПроверитьИстину(ФС.ФайлСуществует(внешнийФайлИнформацииДописываемый), "Внешний файл информации должен существовать"); - + текстВывода = УправлениеКонфигуратором.ВыводКоманды(); - + Чтение = Новый ЧтениеТекста(внешнийФайлИнформацииДописываемый); текстВФайле = Чтение.Прочитать(); Чтение.Закрыть(); - - Утверждения.ПроверитьИстину( СтрНайти( текстВФайле, текстКоторыйУжеЛежитВФайле ) > 0 , "В файле должен быть текст, записанный ранее"); - Утверждения.ПроверитьИстину( СтрНайти( текстВФайле, текстВывода ) > 0 , "В файле должен быть текст вывода последней команды"); - Утверждения.ПроверитьНеРавенство( текстВФайле, текстВывода, "Текст в файле вывода и в выводе должны отличаться"); - Утверждения.ПроверитьРавенство( внешнийФайлИнформацииДописываемый, УправлениеКонфигуратором.ФайлИнформации(), "Внешний файл и файл информации должны совпадать"); - - ВременныеФайлы.УдалитьФайл( КаталогВременногоХранилища ); - ВременныеФайлы.УдалитьФайл( внешнийФайлИнформацииДописываемый ); + + Утверждения.ПроверитьИстину(СтрНайти(текстВФайле, текстКоторыйУжеЛежитВФайле) > 0, "В файле должен быть текст, записанный ранее"); + Утверждения.ПроверитьИстину(СтрНайти(текстВФайле, текстВывода) > 0, "В файле должен быть текст вывода последней команды"); + Утверждения.ПроверитьНеРавенство(текстВФайле, текстВывода, "Текст в файле вывода и в выводе должны отличаться"); + Утверждения.ПроверитьРавенство(внешнийФайлИнформацииДописываемый, УправлениеКонфигуратором.ФайлИнформации(), "Внешний файл и файл информации должны совпадать"); + + ВременныеФайлы.УдалитьФайл(КаталогВременногоХранилища); + ВременныеФайлы.УдалитьФайл(внешнийФайлИнформацииДописываемый); УправлениеКонфигуратором.УдалитьВременнуюБазу(); КонецПроцедуры Процедура ТестДолжен_ПроверитьФормированиеФайлаОтчетаОСравненииОсновнойКонфигурацииСФайлом() Экспорт - - ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); - - УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); + + ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); + + УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); ПутьКФайлуОтчета = ПолучитьИмяВременногоФайла("txt"); - ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); - - УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); - - УправлениеКонфигуратором.ПолучитьОтчетОСравненииКонфигурацииСФайлом( - ФайлКонфигурации, + ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); + + УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); + + УправлениеКонфигуратором.ПолучитьОтчетОСравненииКонфигурацииСФайлом( + ФайлКонфигурации, ПутьКФайлуОтчета ); - + ФайлОтчетаСуществует = ФС.ФайлСуществует(ПутьКФайлуОтчета); - - ВременныеФайлы.УдалитьФайл( ПутьКФайлуОтчета ); - ВременныеФайлы.УдалитьФайл( ВременныйКаталог ); - УправлениеКонфигуратором.УдалитьВременнуюБазу(); + + ВременныеФайлы.УдалитьФайл(ПутьКФайлуОтчета); + ВременныеФайлы.УдалитьФайл(ВременныйКаталог); + УправлениеКонфигуратором.УдалитьВременнуюБазу(); Утверждения.ПроверитьИстину( - Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), + Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать" ); - + Утверждения.ПроверитьИстину( ФайлОтчетаСуществует, "Отчет о сравнении конфигурации с файлом должен существовать" - ); - + ); + КонецПроцедуры Процедура ТестДолжен_ПроверитьОсновнаяКонфигурацияИдентичнаФайлу() Экспорт - ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); - - УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); + ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); - ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); - - УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); - - КонфигурацииИдентичны = УправлениеКонфигуратором.КонфигурацияИФайлИдентичны( - ФайлКонфигурации - ); - - УправлениеКонфигуратором.УдалитьВременнуюБазу(); + УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); + + ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); + + УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); + + КонфигурацииИдентичны = УправлениеКонфигуратором.КонфигурацияИФайлИдентичны( + ФайлКонфигурации + ); + + УправлениеКонфигуратором.УдалитьВременнуюБазу(); УдалитьФайлы(ВременныйКаталог); - + Утверждения.ПроверитьИстину(КонфигурацииИдентичны, "Конфигурации отличаются"); Утверждения.ПроверитьИстину( - Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), + Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать" ); - + КонецПроцедуры Процедура ТестДолжен_ПроверитьФормированиеФайлаОтчетаОСравненииКонфигурацииРасширенияСФайлом() Экспорт - - ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); - - УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); + + ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); + + УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); ПутьКФайлуОтчета = ПолучитьИмяВременногоФайла("txt"); - - ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); - ФайлРасширения = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cfe"); - ИмяРасширения = "Test_Extension"; - - УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); + ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); + ФайлРасширения = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cfe"); + + ИмяРасширения = "Test_Extension"; + + УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); УправлениеКонфигуратором.ЗагрузитьРасширениеИзФайла(ФайлРасширения, ИмяРасширения); - УправлениеКонфигуратором.ПолучитьОтчетОСравненииКонфигурацииСФайлом( - ФайлРасширения, + УправлениеКонфигуратором.ПолучитьОтчетОСравненииКонфигурацииСФайлом( + ФайлРасширения, ПутьКФайлуОтчета, , , ИмяРасширения ); - + ФайлОтчетаСуществует = ФС.ФайлСуществует(ПутьКФайлуОтчета); - - ВременныеФайлы.УдалитьФайл( ПутьКФайлуОтчета ); - ВременныеФайлы.УдалитьФайл( ВременныйКаталог ); - УправлениеКонфигуратором.УдалитьВременнуюБазу(); + + ВременныеФайлы.УдалитьФайл(ПутьКФайлуОтчета); + ВременныеФайлы.УдалитьФайл(ВременныйКаталог); + УправлениеКонфигуратором.УдалитьВременнуюБазу(); Утверждения.ПроверитьИстину( - Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), + Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать" ); - + Утверждения.ПроверитьИстину( ФайлОтчетаСуществует, "Отчет о сравнении конфигурации с файлом должен существовать" - ); - + ); + КонецПроцедуры Процедура ТестДолжен_ПроверитьКонфигурацияРасширенияИдентичнаФайлу() Экспорт - ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); - - УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); + ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); + + УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); - ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); - ФайлРасширения = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cfe"); + ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); + ФайлРасширения = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cfe"); - ИмяРасширения = "Test_Extension"; + ИмяРасширения = "Test_Extension"; - УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); + УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); УправлениеКонфигуратором.ЗагрузитьРасширениеИзФайла(ФайлРасширения, ИмяРасширения); - - КонфигурацииИдентичны = УправлениеКонфигуратором.КонфигурацияИФайлИдентичны( - ФайлРасширения, - ИмяРасширения - ); - - УправлениеКонфигуратором.УдалитьВременнуюБазу(); + + КонфигурацииИдентичны = УправлениеКонфигуратором.КонфигурацияИФайлИдентичны( + ФайлРасширения, + ИмяРасширения + ); + + УправлениеКонфигуратором.УдалитьВременнуюБазу(); ВременныеФайлы.УдалитьФайл(ВременныйКаталог); - + Утверждения.ПроверитьИстину(КонфигурацииИдентичны, "Конфигурации отличаются"); Утверждения.ПроверитьИстину( - Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), + Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать" ); - + КонецПроцедуры Процедура ТестДолжен_ПолучитьПараметрыСтрокиСоединенияСФайловойБазой() Экспорт ПоУмолчанию = ТекущийКаталог(); - - ПараметрыСтрокиСоединения = УправлениеКонфигуратором.ПараметрыСтрокиСоединения_ФайловыйВариант(); - Утверждения.Проверить(ПараметрыСтрокиСоединения.Свойство("ПутьКБазе"), "Стркутура должна содержать ключ 'ПутьКФайлу'"); + + ПараметрыСтрокиСоединения = УправлениеКонфигуратором.ПараметрыСтрокиСоединения(); + Утверждения.Проверить(ПараметрыСтрокиСоединения.Свойство("ПутьКФайлуБазы"), "Стркутура должна содержать ключ 'ПутьКФайлуБазы'"); КонецПроцедуры Процедура ТестДолжен_СформироватьСтрокуСоединенияСФайловойБазой() Экспорт ПоУмолчанию = ТекущийКаталог(); - СтрокаСоединенияЭталон = "/F'D:\1c\1cv8.dt'"; - - ПараметрыСтрокиСоединения = УправлениеКонфигуратором.ПараметрыСтрокиСоединения_ФайловыйВариант(); - ПараметрыСтрокиСоединения.ПутьКБазе = "D:\1c\1cv8.dt"; + СтрокаСоединенияЭталон = "/F""D:\1c\1Cv8.1CD"""; + + ПараметрыСтрокиСоединения = УправлениеКонфигуратором.ПараметрыСтрокиСоединения(); + ПараметрыСтрокиСоединения.ПутьКФайлуБазы = "D:\1c\1Cv8.1CD"; СтрокаСоединения = УправлениеКонфигуратором.СформироватьСтрокуСоединения(ПараметрыСтрокиСоединения); ТестОшибки = СтрШаблон("Строка соединения %1 НЕ совпадает с эталоном %2", СтрокаСоединения, СтрокаСоединенияЭталон); @@ -549,8 +549,8 @@ Процедура ТестДолжен_ПолучитьПараметрыСтрокиСоединенияССервернойБазой() Экспорт ПоУмолчанию = ТекущийКаталог(); - - ПараметрыСтрокиСоединения = УправлениеКонфигуратором.ПараметрыСтрокиСоединения_СерверныйВариант(); + + ПараметрыСтрокиСоединения = УправлениеКонфигуратором.ПараметрыСтрокиСоединения(); Утверждения.Проверить(ПараметрыСтрокиСоединения.Свойство("Сервер"), "Стркутура должна содержать ключ 'Сервер'"); Утверждения.Проверить(ПараметрыСтрокиСоединения.Свойство("Порт"), "Стркутура должна содержать ключ 'Порт'"); Утверждения.Проверить(ПараметрыСтрокиСоединения.Свойство("ИмяБазы"), "Стркутура должна содержать ключ 'ИмяБазы'"); @@ -561,12 +561,12 @@ ПоУмолчанию = ТекущийКаталог(); СтрокаСоединенияЭталон = "/IBConnectionString""Srvr='someserver:2041'; Ref='database'"""; - - ПараметрыСтрокиСоединения = УправлениеКонфигуратором.ПараметрыСтрокиСоединения_СерверныйВариант(); + + ПараметрыСтрокиСоединения = УправлениеКонфигуратором.ПараметрыСтрокиСоединения(); ПараметрыСтрокиСоединения.Сервер = "someserver"; ПараметрыСтрокиСоединения.Порт = "2041"; ПараметрыСтрокиСоединения.ИмяБазы = "database"; - + СтрокаСоединения = УправлениеКонфигуратором.СформироватьСтрокуСоединения(ПараметрыСтрокиСоединения); ТестОшибки = СтрШаблон("Строка соединения %1 НЕ совпадает с эталоном %2", СтрокаСоединения, СтрокаСоединенияЭталон); @@ -578,11 +578,11 @@ Функция ХранилищеКонфигурацииСуществует(Знач ПапкаХранилища) - Возврат ФС.ФайлСуществует( ОбъединитьПути(ПапкаХранилища, "1cv8ddb.1CD")); + Возврат ФС.ФайлСуществует(ОбъединитьПути(ПапкаХранилища, "1cv8ddb.1CD")); КонецФункции ////////////////////////////////////////////////////////////////////////////////////// // Инициализация -Инициализация(); +Инициализация(); \ No newline at end of file From 4ac78111c58649b1faa4c0e74067a3e84cd43c7d Mon Sep 17 00:00:00 2001 From: Vdovenko Sergey Date: Sun, 13 Mar 2022 12:45:50 +0700 Subject: [PATCH 4/8] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D1=8B=20=D0=BE=D0=BF=D0=B5=D1=87=D0=B0=D1=82=D0=BA?= =?UTF-8?q?=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- readme.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/readme.md b/readme.md index 7d3afc2..f4c388a 100644 --- a/readme.md +++ b/readme.md @@ -33,20 +33,20 @@ ПараметрыСтрокиСоединения.Порт = 2041; ПараметрыСтрокиСоединения.ИмяБазы = "database"; -Конфигуратор.УстановитьКонтекст(ПараметрыСтрокиСоединения,"Admin", "passw0rd"); +Конфигуратор.УстановитьКонтекст(ПараметрыСтрокиСоединения, "Admin", "passw0rd"); ``` В более простой форме - для файловой базы можно указать через ключ ```/F```: ```bsl -Конфигуратор.УстановитьКонтекст("/FC:\1cdb\mydatabase","Admin", "passw0rd"); +Конфигуратор.УстановитьКонтекст("/FC:\1cdb\mydatabase", "Admin", "passw0rd"); ``` ИЛИ ```bsl ПараметрыСтрокиСоединения = Конфигуратор.ПараметрыСтрокиСоединения(); -ПараметрыСтрокиСоединения.ПутьКБазе = "C:\1cdb\mydatabase"; +ПараметрыСтрокиСоединения.ПутьКФайлуБазы = "C:\1cdb\mydatabase"; Конфигуратор.УстановитьКонтекст(ПараметрыСтрокиСоединения, "Admin", "passw0rd"); ``` From 3a7e8aea58c4f26a7100643beaadb18b58ab08be Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 27 Mar 2022 12:24:57 +0300 Subject: [PATCH 5/8] =?UTF-8?q?oscript=5Fmodules=20=D0=B2=20=D0=B3=D0=B8?= =?UTF-8?q?=D1=82=D0=B8=D0=B3=D0=BD=D0=BE=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 3332d98..6e18e33 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ test-reports/* *.ospx tests.xml .scannerwork/ +oscript_modules/ From e7f9521c18e22dc1ec84b694e4cc32ac2e145db5 Mon Sep 17 00:00:00 2001 From: 8095tores <42864922+8095tores@users.noreply.github.com> Date: Thu, 14 Apr 2022 12:10:28 +0300 Subject: [PATCH 6/8] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=BE=D0=B4=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BA=20=D1=85=D1=80=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D0=BB=D0=B8=D1=89=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/v8runner.os | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/v8runner.os b/src/v8runner.os index f335c43..d2ed185 100644 --- a/src/v8runner.os +++ b/src/v8runner.os @@ -923,7 +923,8 @@ Знач ФайлНастроек, Знач ПоставитьНаПоддержку = Неопределено, Знач ВключитьВОбъединениеОбъектыПоНеразрешеннымСсылкам = Неопределено, - Знач Принудительно = Ложь) Экспорт + Знач Принудительно = Ложь, + Знач ПараметрыХранилища = Неопределено) Экспорт Параметры = СтандартныеПараметрыЗапускаКонфигуратора(); Параметры.Добавить("/MergeCfg " + ОбернутьВКавычки(ФайлКонфигурации)); @@ -945,6 +946,15 @@ Параметры.Добавить("-force"); КонецЕсли; + Если НЕ ПараметрыХранилища = Неопределено Тогда + Параметры.Добавить("/ConfigurationRepositoryF """ + ПараметрыХранилища.СтрокаПодключенияХранилище + """"); + Параметры.Добавить("/ConfigurationRepositoryN """ + ПараметрыХранилища.ПользовательХранилища + """"); + + Если ЗначениеЗаполнено(ПараметрыХранилища.ПарольХранилища) Тогда + Параметры.Добавить("/ConfigurationRepositoryP """ + ПараметрыХранилища.ПарольХранилища + """"); + КонецЕсли; + КонецЕсли; + ВыполнитьКоманду(Параметры); КонецПроцедуры From 04f6d646503aead14594b62ea4eb2a30740298e1 Mon Sep 17 00:00:00 2001 From: Boris Sinitsyn Date: Wed, 15 Jun 2022 19:01:07 +0300 Subject: [PATCH 7/8] =?UTF-8?q?=D0=9F=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82?= =?UTF-8?q?=D1=80=20=D0=BA=D0=BE=D0=BB=D0=B8=D1=87=D0=B5=D1=81=D1=82=D0=B2?= =?UTF-8?q?=D0=B0=20=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D0=B9=20=D0=B7?= =?UTF-8?q?=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=BA=D0=B8=20=D0=B8=D0=B7=20dt?= =?UTF-8?q?=20(#142)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Параметр количества заданий загрузки dt * Для JobsCount платформа с 8.3.19 --- src/v8runner.os | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/v8runner.os b/src/v8runner.os index d2ed185..9b4211a 100644 --- a/src/v8runner.os +++ b/src/v8runner.os @@ -1316,7 +1316,9 @@ КонецПроцедуры // СоздатьСервернуюБазу() -Процедура ЗагрузитьИнформационнуюБазу(ПутьВыгрузкиИБ) Экспорт +Процедура ЗагрузитьИнформационнуюБазу(ПутьВыгрузкиИБ, + Знач КоличествоЗаданий = 0) Экспорт + ФайлВыгрузки = Новый Файл(ПутьВыгрузкиИБ); Ожидаем.Что(ФайлВыгрузки.Существует(), "Файл выгрузки <"+ПутьВыгрузкиИБ +"> существует, а это не так").ЭтоИстина(); @@ -1324,6 +1326,10 @@ ПараметрыЗапуска.Добавить("/RestoreIB " + ОбернутьВКавычки(ПутьВыгрузкиИБ)); + Если ИспользуемаяВерсияПлатформыСтаршеИлиРавна("8.3.19") Тогда + Параметры.Добавить(СтрШаблон("-JobsCount %1", КоличествоЗаданий)); + КонецЕсли; + ВыполнитьКоманду(ПараметрыЗапуска); КонецПроцедуры From 74c225147aaee82cb3b0a80a62cc65b5ca133a96 Mon Sep 17 00:00:00 2001 From: Boris Sinitsyn Date: Fri, 17 Jun 2022 08:16:17 +0300 Subject: [PATCH 8/8] =?UTF-8?q?=D0=9E=D0=BF=D0=B5=D1=87=D0=B0=D1=82=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=BD?= =?UTF-8?q?=D0=BE=D0=B3=D0=BE=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82?= =?UTF-8?q?=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/v8runner.os | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/v8runner.os b/src/v8runner.os index 9b4211a..3fba92c 100644 --- a/src/v8runner.os +++ b/src/v8runner.os @@ -1327,7 +1327,7 @@ ПараметрыЗапуска.Добавить("/RestoreIB " + ОбернутьВКавычки(ПутьВыгрузкиИБ)); Если ИспользуемаяВерсияПлатформыСтаршеИлиРавна("8.3.19") Тогда - Параметры.Добавить(СтрШаблон("-JobsCount %1", КоличествоЗаданий)); + ПараметрыЗапуска.Добавить(СтрШаблон("-JobsCount %1", КоличествоЗаданий)); КонецЕсли; ВыполнитьКоманду(ПараметрыЗапуска);