1
0
mirror of https://github.com/Stepa86/oScript-Examples.git synced 2026-03-14 05:10:42 +02:00

Небольшие улучшения и багфикс

This commit is contained in:
Stepa86
2017-02-02 21:19:39 +03:00
parent a054cfcff5
commit 488fcdce9e
3 changed files with 150 additions and 80 deletions

View File

@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4">
<AutoSaveDataInSettings>Use</AutoSaveDataInSettings>
<CommandBarLocation>None</CommandBarLocation>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
<Events>
@@ -44,6 +45,7 @@
<v8:content>Группа команды</v8:content>
</v8:item>
</ToolTip>
<Group>Horizontal</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="Группа_КомандыРасширеннаяПодсказка" id="9"/>
@@ -96,6 +98,8 @@
</InputField>
<InputField name="EXE1CV8" id="27">
<DataPath>EXE1CV8</DataPath>
<DropListButton>true</DropListButton>
<ChoiceButton>true</ChoiceButton>
<InputHint>
<v8:item>
<v8:lang>ru</v8:lang>
@@ -104,6 +108,9 @@
</InputHint>
<ContextMenu name="EXE1CV8КонтекстноеМеню" id="28"/>
<ExtendedTooltip name="EXE1CV8РасширеннаяПодсказка" id="29"/>
<Events>
<Event name="StartChoice">EXE1CV8НачалоВыбора</Event>
</Events>
</InputField>
<InputField name="FileBackup" id="30">
<DataPath>FileBackup</DataPath>
@@ -113,14 +120,24 @@
<v8:content>Файл Backup</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>В этот файл будет выгружена база SQL-источник и для этой базы нужно использовать скрипт, который загрузит его в SQL-приемник</v8:content>
</v8:item>
</ToolTip>
<ChoiceButton>true</ChoiceButton>
<InputHint>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>db111.bak</v8:content>
<v8:content>D:\Folder\db111.bak</v8:content>
</v8:item>
</InputHint>
<ContextMenu name="FileBackupКонтекстноеМеню" id="31"/>
<ExtendedTooltip name="FileBackupРасширеннаяПодсказка" id="32"/>
<Events>
<Event name="StartChoice">FileBackupНачалоВыбора</Event>
</Events>
</InputField>
</ChildItems>
</UsualGroup>
@@ -137,6 +154,7 @@
<v8:content>Группа колонки</v8:content>
</v8:item>
</ToolTip>
<Group>Horizontal</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="Группа_КолонкиРасширеннаяПодсказка" id="49"/>
@@ -249,11 +267,17 @@
<ChildItems>
<InputField name="Script_Restore" id="33">
<DataPath>Script_Restore</DataPath>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Скрипт для загрузки файла Backup в SQL приемник</v8:content>
</v8:item>
</ToolTip>
<ChoiceButton>true</ChoiceButton>
<InputHint>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Restore.sql</v8:content>
<v8:content>D:\Folder\Restore.sql</v8:content>
</v8:item>
</InputHint>
<ContextMenu name="Script_RestoreКонтекстноеМеню" id="34"/>
@@ -403,41 +427,41 @@
<ContextMenu name="База_ПарольКонтекстноеМеню" id="76"/>
<ExtendedTooltip name="База_ПарольРасширеннаяПодсказка" id="77"/>
</InputField>
</ChildItems>
</UsualGroup>
<UsualGroup name="Группа_Хранилище" id="87">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Хранилище</v8:content>
</v8:item>
</Title>
<Group>Vertical</Group>
<Representation>StrongSeparation</Representation>
<ExtendedTooltip name="Группа_ХранилищеРасширеннаяПодсказка" id="88"/>
<ChildItems>
<InputField name="База_Хранилище" id="78">
<DataPath>Хранилище_Адрес</DataPath>
<ContextMenu name="База_ХранилищеКонтекстноеМеню" id="79"/>
<ExtendedTooltip name="База_ХранилищеРасширеннаяПодсказка" id="80"/>
</InputField>
<InputField name="Хранилище_Пользователь" id="81">
<DataPath>Хранилище_Пользователь</DataPath>
<ContextMenu name="Хранилище_ПользовательКонтекстноеМеню" id="82"/>
<ExtendedTooltip name="Хранилище_ПользовательРасширеннаяПодсказка" id="83"/>
</InputField>
<InputField name="Хранилище_Пароль" id="84">
<DataPath>Хранилище_Пароль</DataPath>
<ContextMenu name="Хранилище_ПарольКонтекстноеМеню" id="85"/>
<ExtendedTooltip name="Хранилище_ПарольРасширеннаяПодсказка" id="86"/>
</InputField>
<CheckBoxField name="Хранилище_ОбновитьПослеПодключения" id="99">
<DataPath>Хранилище_ОбновитьПослеПодключения</DataPath>
<TitleLocation>Right</TitleLocation>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="Хранилище_ОбновитьПослеПодключенияКонтекстноеМеню" id="100"/>
<ExtendedTooltip name="Хранилище_ОбновитьПослеПодключенияРасширеннаяПодсказка" id="101"/>
</CheckBoxField>
<UsualGroup name="Группа_Хранилище" id="87">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Параметры подключения к хранилищу</v8:content>
</v8:item>
</Title>
<Group>Vertical</Group>
<Representation>StrongSeparation</Representation>
<ExtendedTooltip name="Группа_ХранилищеРасширеннаяПодсказка" id="88"/>
<ChildItems>
<InputField name="База_Хранилище" id="78">
<DataPath>Хранилище_Адрес</DataPath>
<ContextMenu name="База_ХранилищеКонтекстноеМеню" id="79"/>
<ExtendedTooltip name="База_ХранилищеРасширеннаяПодсказка" id="80"/>
</InputField>
<InputField name="Хранилище_Пользователь" id="81">
<DataPath>Хранилище_Пользователь</DataPath>
<ContextMenu name="Хранилище_ПользовательКонтекстноеМеню" id="82"/>
<ExtendedTooltip name="Хранилище_ПользовательРасширеннаяПодсказка" id="83"/>
</InputField>
<InputField name="Хранилище_Пароль" id="84">
<DataPath>Хранилище_Пароль</DataPath>
<ContextMenu name="Хранилище_ПарольКонтекстноеМеню" id="85"/>
<ExtendedTooltip name="Хранилище_ПарольРасширеннаяПодсказка" id="86"/>
</InputField>
<CheckBoxField name="Хранилище_ОбновитьПослеПодключения" id="99">
<DataPath>Хранилище_ОбновитьПослеПодключения</DataPath>
<TitleLocation>Right</TitleLocation>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="Хранилище_ОбновитьПослеПодключенияКонтекстноеМеню" id="100"/>
<ExtendedTooltip name="Хранилище_ОбновитьПослеПодключенияРасширеннаяПодсказка" id="101"/>
</CheckBoxField>
</ChildItems>
</UsualGroup>
</ChildItems>
</UsualGroup>
</ChildItems>
@@ -467,6 +491,9 @@
</v8:StringQualifiers>
</Type>
<FillCheck>ShowError</FillCheck>
<Save>
<Field>ИмяФайлаНастроек</Field>
</Save>
</Attribute>
<Attribute name="База_СтрокаПодключения" id="3">
<Title>

View File

@@ -135,48 +135,53 @@
КонецЕсли;
#Если Не ВебКлиент Тогда
чтениеJSON = Новый ЧтениеJSON;
чтениеJSON.ОткрытьФайл(ИмяФайлаНастроек);
соотПараметры = ПрочитатьJSON( ЧтениеJSON, Истина );
чтениеJSON.Закрыть();
прочитанныеПараметры = Новый Соответствие;
ПрочитатьПараметрыРекурсивно( соотПараметры, прочитанныеПараметры );
OSCRIPT = прочитанныеПараметры.Получить( "OSCRIPT" );
EXE1CV8 = прочитанныеПараметры.Получить( "EXE1CV8" );
FileBackup = прочитанныеПараметры.Получить( "FileBackup" );
Script_Restore = прочитанныеПараметры.Получить( "Script_Restore" );
ВыгружатьБекап = прочитанныеПараметры.Получить( "Source_SQL.UseBackup" );
Source_SQL_Server = прочитанныеПараметры.Получить( "Source_SQL.Server" );
Source_SQL_User = прочитанныеПараметры.Получить( "Source_SQL.User" );
Source_SQL_Password = прочитанныеПараметры.Получить( "Source_SQL.Password" );
Source_SQL_Base = прочитанныеПараметры.Получить( "Source_SQL.Base" );
ЗагружатьИзБекапа = прочитанныеПараметры.Получить( "Current_SQL.UseRestore" );
УдалятьБекап = прочитанныеПараметры.Получить( "Current_SQL.DelBackup" );
Current_SQL_Server = прочитанныеПараметры.Получить( "Current_SQL.Server" );
Current_SQL_User = прочитанныеПараметры.Получить( "Current_SQL.User" );
Current_SQL_Password = прочитанныеПараметры.Получить( "Current_SQL.Password" );
Current_SQL_Base = прочитанныеПараметры.Получить( "Current_SQL.Base" );
База_СтрокаПодключения = прочитанныеПараметры.Получить( "Current_Base.Connect" );
База_Пользователь = прочитанныеПараметры.Получить( "Current_Base.User" );
База_Пароль = прочитанныеПараметры.Получить( "Current_Base.Password" );
База_ПутьКОбработке = прочитанныеПараметры.Получить( "Current_Base.EPF" );
ПодключатьКХранилищу = прочитанныеПараметры.Получить( "Current_Repo.Blind" );
Хранилище_Адрес = прочитанныеПараметры.Получить( "Current_Repo.Connect" );
Хранилище_Пользователь = прочитанныеПараметры.Получить( "Current_Repo.User" );
Хранилище_Пароль = прочитанныеПараметры.Получить( "Current_Repo.Password" );
Хранилище_ОбновитьПослеПодключения = прочитанныеПараметры.Получить( "Current_Repo.UpdateCfg" );
НастроитьВидимостьДоступность();
файл = Новый Файл( ИмяФайлаНастроек );
Если Не файл.Существует() Тогда
Возврат;
КонецЕсли;
чтениеJSON = Новый ЧтениеJSON;
чтениеJSON.ОткрытьФайл(ИмяФайлаНастроек);
соотПараметры = ПрочитатьJSON( ЧтениеJSON, Истина );
чтениеJSON.Закрыть();
прочитанныеПараметры = Новый Соответствие;
ПрочитатьПараметрыРекурсивно( соотПараметры, прочитанныеПараметры );
OSCRIPT = прочитанныеПараметры.Получить( "OSCRIPT" );
EXE1CV8 = прочитанныеПараметры.Получить( "EXE1CV8" );
FileBackup = прочитанныеПараметры.Получить( "FileBackup" );
Script_Restore = прочитанныеПараметры.Получить( "Script_Restore" );
ВыгружатьБекап = прочитанныеПараметры.Получить( "Source_SQL.UseBackup" );
Source_SQL_Server = прочитанныеПараметры.Получить( "Source_SQL.Server" );
Source_SQL_User = прочитанныеПараметры.Получить( "Source_SQL.User" );
Source_SQL_Password = прочитанныеПараметры.Получить( "Source_SQL.Password" );
Source_SQL_Base = прочитанныеПараметры.Получить( "Source_SQL.Base" );
ЗагружатьИзБекапа = прочитанныеПараметры.Получить( "Current_SQL.UseRestore" );
УдалятьБекап = прочитанныеПараметры.Получить( "Current_SQL.DelBackup" );
Current_SQL_Server = прочитанныеПараметры.Получить( "Current_SQL.Server" );
Current_SQL_User = прочитанныеПараметры.Получить( "Current_SQL.User" );
Current_SQL_Password = прочитанныеПараметры.Получить( "Current_SQL.Password" );
Current_SQL_Base = прочитанныеПараметры.Получить( "Current_SQL.Base" );
База_СтрокаПодключения = прочитанныеПараметры.Получить( "Current_Base.Connect" );
База_Пользователь = прочитанныеПараметры.Получить( "Current_Base.User" );
База_Пароль = прочитанныеПараметры.Получить( "Current_Base.Password" );
База_ПутьКОбработке = прочитанныеПараметры.Получить( "Current_Base.EPF" );
ПодключатьКХранилищу = прочитанныеПараметры.Получить( "Current_Repo.Blind" );
Хранилище_Адрес = прочитанныеПараметры.Получить( "Current_Repo.Connect" );
Хранилище_Пользователь = прочитанныеПараметры.Получить( "Current_Repo.User" );
Хранилище_Пароль = прочитанныеПараметры.Получить( "Current_Repo.Password" );
Хранилище_ОбновитьПослеПодключения = прочитанныеПараметры.Получить( "Current_Repo.UpdateCfg" );
НастроитьВидимостьДоступность();
#КонецЕсли
КонецПроцедуры
@@ -322,7 +327,24 @@
КонецПроцедуры
&НаКлиенте
Процедура EXE1CV8НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла( РежимДиалогаВыбораФайла.Открытие );
Если ЗначениеЗаполнено( ИмяФайлаНастроек ) Тогда
ДиалогОткрытияФайла.ПолноеИмяФайла = EXE1CV8;
КонецЕсли;
ДиалогОткрытияФайла.Фильтр = НСтр( "ru='1cv8.exe'" ) + "|1cv8.exe";
ДиалогОткрытияФайла.МножественныйВыбор = Ложь;
ДиалогОткрытияФайла.Заголовок = НСтр( "ru='Выберите 1cv8.exe'" );
ДиалогОткрытияФайла.Показать(Новый ОписаниеОповещения("Файл_НачалоВыбораЗавершение", ЭтаФорма, Новый Структура("ИмяРеквизита", "EXE1CV8")));
КонецПроцедуры
&НаКлиенте
Процедура База_ПутьКОбработкеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
@@ -343,6 +365,25 @@
КонецПроцедуры
&НаКлиенте
Процедура FileBackupНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла( РежимДиалогаВыбораФайла.Открытие );
Если ЗначениеЗаполнено( ИмяФайлаНастроек ) Тогда
ДиалогОткрытияФайла.ПолноеИмяФайла = FileBackup;
КонецЕсли;
ДиалогОткрытияФайла.Фильтр = НСтр( "ru='Файл sql-backup'" ) + " (*.bak)|*.bak";
ДиалогОткрытияФайла.МножественныйВыбор = Ложь;
ДиалогОткрытияФайла.Заголовок = НСтр( "ru='Выберите файл sql-backup'" );
ДиалогОткрытияФайла.Показать(Новый ОписаниеОповещения("Файл_НачалоВыбораЗавершение", ЭтаФорма, Новый Структура("ИмяРеквизита", "FileBackup")));
КонецПроцедуры
&НаКлиенте
Процедура ЗагружатьИзБекапаПриИзменении(Элемент)
@@ -508,3 +549,5 @@
КонецПроцедуры