From bc07e8265cc18fd91266e4aeae3f05d87968fc20 Mon Sep 17 00:00:00 2001 From: 7OH Date: Sun, 25 Aug 2024 10:25:45 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82?= =?UTF-8?q?=D1=80=D1=8B=20=D0=B7=D0=B0=D0=BF=D1=83=D1=81=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Добавлена форма параметров Добавлена возможность тонкой настройки стартера для платформ, установленных в не Program Files --- ...0\265\321\202\321\200\320\276\320\262.xml" | 22 + .../Ext/Form.xml" | 401 ++++++++++++++++++ .../Ext/Form/Module.bsl" | 165 +++++++ 3 files changed, 588 insertions(+) create mode 100644 "tools/1\321\201/src/\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\224\320\260\320\274\320\277\320\276\320\262\320\241\320\275\320\265\320\263\320\276\320\277\320\260\321\202\320\260/\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\224\320\260\320\274\320\277\320\276\320\262\320\241\320\275\320\265\320\263\320\276\320\277\320\260\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.xml" create mode 100644 "tools/1\321\201/src/\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\224\320\260\320\274\320\277\320\276\320\262\320\241\320\275\320\265\320\263\320\276\320\277\320\260\321\202\320\260/\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\224\320\260\320\274\320\277\320\276\320\262\320\241\320\275\320\265\320\263\320\276\320\277\320\260\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262/Ext/Form.xml" create mode 100644 "tools/1\321\201/src/\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\224\320\260\320\274\320\277\320\276\320\262\320\241\320\275\320\265\320\263\320\276\320\277\320\260\321\202\320\260/\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\224\320\260\320\274\320\277\320\276\320\262\320\241\320\275\320\265\320\263\320\276\320\277\320\260\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262/Ext/Form/Module.bsl" diff --git "a/tools/1\321\201/src/\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\224\320\260\320\274\320\277\320\276\320\262\320\241\320\275\320\265\320\263\320\276\320\277\320\260\321\202\320\260/\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\224\320\260\320\274\320\277\320\276\320\262\320\241\320\275\320\265\320\263\320\276\320\277\320\260\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.xml" "b/tools/1\321\201/src/\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\224\320\260\320\274\320\277\320\276\320\262\320\241\320\275\320\265\320\263\320\276\320\277\320\260\321\202\320\260/\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\224\320\260\320\274\320\277\320\276\320\262\320\241\320\275\320\265\320\263\320\276\320\277\320\260\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.xml" new file mode 100644 index 0000000..222195a --- /dev/null +++ "b/tools/1\321\201/src/\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\224\320\260\320\274\320\277\320\276\320\262\320\241\320\275\320\265\320\263\320\276\320\277\320\260\321\202\320\260/\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\224\320\260\320\274\320\277\320\276\320\262\320\241\320\275\320\265\320\263\320\276\320\277\320\260\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262.xml" @@ -0,0 +1,22 @@ + + +
+ + ФормаПараметров + + + ru + Форма параметров + + + + Managed + false + + PlatformApplication + MobilePlatformApplication + + + +
+
\ No newline at end of file diff --git "a/tools/1\321\201/src/\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\224\320\260\320\274\320\277\320\276\320\262\320\241\320\275\320\265\320\263\320\276\320\277\320\260\321\202\320\260/\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\224\320\260\320\274\320\277\320\276\320\262\320\241\320\275\320\265\320\263\320\276\320\277\320\260\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262/Ext/Form.xml" "b/tools/1\321\201/src/\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\224\320\260\320\274\320\277\320\276\320\262\320\241\320\275\320\265\320\263\320\276\320\277\320\260\321\202\320\260/\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\224\320\260\320\274\320\277\320\276\320\262\320\241\320\275\320\265\320\263\320\276\320\277\320\260\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262/Ext/Form.xml" new file mode 100644 index 0000000..52829ca --- /dev/null +++ "b/tools/1\321\201/src/\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\224\320\260\320\274\320\277\320\276\320\262\320\241\320\275\320\265\320\263\320\276\320\277\320\260\321\202\320\260/\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\224\320\260\320\274\320\277\320\276\320\262\320\241\320\275\320\265\320\263\320\276\320\277\320\260\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262/Ext/Form.xml" @@ -0,0 +1,401 @@ + +
+ + + + + + + ПриОткрытии + ПриСозданииНаСервере + + + + ПараметрыЗапуска + true + EnterOnInput + false + 3 + true + true + true + + + + + СтавитьЗапускКонфигуратора + + + ru + DESIGNER + + + ShowRight + Switcher + + + + ЭлементыПриИзменении + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа архитектура</v8:content> + </v8:item> + + + + ru + Группа архитектура + + + AlwaysHorizontal + None + false + + + + СтавитьАрхитектура + Switcher + + + + ЭлементыПриИзменении + + + + Архитектура + None + true + false + + + + 0 + + + + ru + x86 + + + x86 + + + + + 0 + + + + ru + x86_64 + + + x86_64 + + + + + + + ЭлементыПриИзменении + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа имя базы</v8:content> + </v8:item> + + + + ru + Группа имя базы + + + AlwaysHorizontal + None + false + + + + СтавитьИмяБазы + Switcher + + + + ЭлементыПриИзменении + + + + ИмяБазы + None + + + + ЭлементыПриИзменении + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа логин</v8:content> + </v8:item> + + + + ru + Группа логин + + + AlwaysHorizontal + None + false + + + + СтавитьЛогин + Switcher + + + + ЭлементыПриИзменении + + + + Логин + None + + + + ЭлементыПриИзменении + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа пароль</v8:content> + </v8:item> + + + + ru + Группа пароль + + + AlwaysHorizontal + None + false + + + + СтавитьПароль + Switcher + + + + ЭлементыПриИзменении + + + + Пароль + None + + + + ЭлементыПриИзменении + + + + + + + + + cfg:ExternalDataProcessorObject.СравнениеДамповСнегопата + + true + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Параметры запуска</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Запуск конфигуратора</v8:content> + </v8:item> + + + xs:boolean + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Архитектура</v8:content> + </v8:item> + + + xs:boolean + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Архитектура</v8:content> + </v8:item> + + + xs:string + + 20 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Имя базы</v8:content> + </v8:item> + + + xs:boolean + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Имя базы</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Логин</v8:content> + </v8:item> + + + xs:boolean + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Логин</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Пароль</v8:content> + </v8:item> + + + xs:boolean + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Пароль</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Сохранить изменения</v8:content> + </v8:item> + + + + ru + Сохранить изменения + + + + StdPicture.SaveFile + true + + СохранитьИзменения + TextPicture + + + + + + xs:string + + 0 + Variable + + + + +
\ No newline at end of file diff --git "a/tools/1\321\201/src/\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\224\320\260\320\274\320\277\320\276\320\262\320\241\320\275\320\265\320\263\320\276\320\277\320\260\321\202\320\260/\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\224\320\260\320\274\320\277\320\276\320\262\320\241\320\275\320\265\320\263\320\276\320\277\320\260\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262/Ext/Form/Module.bsl" "b/tools/1\321\201/src/\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\224\320\260\320\274\320\277\320\276\320\262\320\241\320\275\320\265\320\263\320\276\320\277\320\260\321\202\320\260/\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\224\320\260\320\274\320\277\320\276\320\262\320\241\320\275\320\265\320\263\320\276\320\277\320\260\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262/Ext/Form/Module.bsl" new file mode 100644 index 0000000..74f2bab --- /dev/null +++ "b/tools/1\321\201/src/\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\224\320\260\320\274\320\277\320\276\320\262\320\241\320\275\320\265\320\263\320\276\320\277\320\260\321\202\320\260/\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\224\320\260\320\274\320\277\320\276\320\262\320\241\320\275\320\265\320\263\320\276\320\277\320\260\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262/Ext/Form/Module.bsl" @@ -0,0 +1,165 @@ + +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + ПараметрыЗапуска = Параметры.ПараметрыЗапуска; + + РазложитьПараметры(); + +КонецПроцедуры + +&НаКлиенте +Процедура ПриОткрытии(Отказ) + + ЭлементыПриИзменении(Неопределено); + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура СохранитьИзменения(Команда) + + Закрыть(ПараметрыЗапуска); + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовШапкиФормы + +&НаКлиенте +Процедура ЭлементыПриИзменении(Элемент) + + Элементы.Архитектура.ТолькоПросмотр = Не СтавитьАрхитектура; + Элементы.ИмяБазы.ТолькоПросмотр = Не СтавитьИмяБазы; + Элементы.Логин.ТолькоПросмотр = Не СтавитьЛогин; + Элементы.Пароль.ТолькоПросмотр = Не СтавитьПароль; + + СформироватьПараметры(); + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаСервере +Функция НайтиПараметр(КоманднаяСтрока, ИмяПараметра, ИскатьЗначение = Истина) + + Результат = Новый Структура("ЕстьПараметр, ЗначениеПараметра", Ложь, ""); + + поз = СтрНайти(КоманднаяСтрока, ИмяПараметра); + Если поз > 0 Тогда + Результат.ЕстьПараметр = Истина; + КонецЕсли; + + Если Не Результат.ЕстьПараметр Тогда + Возврат Результат; + КонецЕсли; + + Если Не ИскатьЗначение Тогда + Возврат Результат; + КонецЕсли; + + значениеПараметра = ""; + поискЗавершен = Ложь; + длинаСтроки = СтрДлина(КоманднаяСтрока); + позПарам = поз + СтрДлина(ИмяПараметра); + открытыКавычки = Ложь; + Если (Сред(КоманднаяСтрока, позПарам, 1) = " ") Тогда + позПарам = позПарам + 1; + КонецЕсли; + Пока поискЗавершен = Ложь и позПарам <= длинаСтроки Цикл + + текСимвол = Сред(КоманднаяСтрока, позПарам, 1); + + Если текСимвол = " " И Не открытыКавычки Тогда + поискЗавершен = Истина; + Прервать; + ИначеЕсли текСимвол = """" Тогда + открытыКавычки = Не открытыКавычки; + Иначе + значениеПараметра = значениеПараметра + текСимвол; + КонецЕсли; + + позПарам = позПарам + 1; + + КонецЦикла; + + Если ЗначениеЗаполнено(значениеПараметра) И Не открытыКавычки Тогда + Результат.ЗначениеПараметра = значениеПараметра; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаСервере +Процедура РазложитьПараметры() + + СтрокаДляАнализа = СтрШаблон("%1", СокрЛП(ПараметрыЗапуска)); + + данныеПараметра = НайтиПараметр(СтрокаДляАнализа, "DESIGNER", Ложь); + СтавитьЗапускКонфигуратора = данныеПараметра.ЕстьПараметр; + + данныеПараметра = НайтиПараметр(СтрокаДляАнализа, "/AppArch"); + СтавитьАрхитектура = данныеПараметра.ЕстьПараметр; + Если СтавитьАрхитектура Тогда + Архитектура = данныеПараметра.ЗначениеПараметра; + КонецЕсли; + + данныеПараметра = НайтиПараметр(СтрокаДляАнализа, "/IBName"); + СтавитьИмяБазы = данныеПараметра.ЕстьПараметр; + Если СтавитьИмяБазы Тогда + ИмяБазы = данныеПараметра.ЗначениеПараметра; + КонецЕсли; + + данныеПараметра = НайтиПараметр(СтрокаДляАнализа, "/N"); + СтавитьЛогин = данныеПараметра.ЕстьПараметр; + Если СтавитьЛогин Тогда + Логин = данныеПараметра.ЗначениеПараметра; + КонецЕсли; + + данныеПараметра = НайтиПараметр(СтрокаДляАнализа, "/P"); + СтавитьПароль = данныеПараметра.ЕстьПараметр; + Если СтавитьПароль Тогда + Пароль = данныеПараметра.ЗначениеПараметра; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура СформироватьПараметры() + + массивПараметров = Новый Массив; + + Если СтавитьЗапускКонфигуратора Тогда + массивПараметров.Добавить("DESIGNER"); + КонецЕсли; + + Если СтавитьАрхитектура И ЗначениеЗаполнено(Архитектура) Тогда + массивПараметров.Добавить(СтрШаблон("/AppArch %1", Архитектура)); + КонецЕсли; + + Если СтавитьИмяБазы И ЗначениеЗаполнено(ИмяБазы) Тогда + массивПараметров.Добавить(СтрШаблон("/IBName ""%1""", ИмяБазы)); + КонецЕсли; + + Если СтавитьЛогин И ЗначениеЗаполнено(Логин) Тогда + массивПараметров.Добавить(СтрШаблон("/N""%1""", Логин)); + КонецЕсли; + + Если СтавитьПароль Тогда + массивПараметров.Добавить(СтрШаблон("/P""%1""", Пароль)); + КонецЕсли; + + ПараметрыЗапуска = СтрСоединить(массивПараметров, " "); + +КонецПроцедуры + +#КонецОбласти \ No newline at end of file