1
0
mirror of https://github.com/bia-technologies/yaxunit.git synced 2024-12-03 08:45:31 +02:00

Merge branch 'feature/ORAIS-679' into 'develop'

ORAIS-679 / Форма настроек конфигурации запуска

See merge request orais/ci_cd/yaxunit!11
This commit is contained in:
Максимов Валерий Валерьевич (000044217) 2022-11-09 20:31:09 +03:00
commit 5f6b84a237
12 changed files with 1487 additions and 22 deletions

View File

@ -332,7 +332,7 @@
Данные = Новый Структура("РезультатыТестирования, ПараметрыЗапуска", РезультатыТестирования, Параметры);
АдресДанных = ПоместитьВоВременноеХранилище(Данные);
ОткрытьФорму("Обработка.ЮнитТесты.Форма.Основная", Новый Структура("АдресХранилища", АдресДанных));
ОткрытьФорму("Обработка.ЮТЮнитТесты.Форма.Основная", Новый Структура("АдресХранилища", АдресДанных));
КонецПроцедуры
#КонецЕсли

View File

@ -49,12 +49,12 @@
КонецФункции
// ЗначениеКонтекста
// Возвращает значение "подконтекста", вложенного реквизита контекста
// Возвращает значение вложенного контекста, вложенного реквизита контекста
// Параметры:
// ИмяРеквизита - Строка - Имя реквизита/подконтекста
// ИмяРеквизита - Строка - Имя реквизита/вложенного контекста
//
// Возвращаемое значение:
// Структура, Неопределено - Значение реквизитиа/подконтекста
// Структура, Неопределено - Значение реквизита/вложенного контекста
Функция ЗначениеКонтекста(ИмяРеквизита) Экспорт
ДанныеКонтекста = ДанныеКонтекста();
@ -64,11 +64,11 @@
КонецФункции
// УстановитьЗначениеКонтекста
// Устанавливает значение "подконтекста", вложенного реквизита контекста
// Устанавливает значение вложенного контекста, вложенного реквизита контекста
//
// Параметры:
// ИмяРеквизита - Строка - Имя реквизита/подконтекста
// Значение - Произвольный - Новое значение реквизитиа/подконтекста
// ИмяРеквизита - Строка - Имя реквизита/вложенного контекста
// Значение - Произвольный - Новое значение реквизита/вложенного контекста
// УстановитьНаСервер - Булево - Установить также на сервер
Процедура УстановитьЗначениеКонтекста(Знач ИмяРеквизита, Знач Значение, Знач УстановитьНаСервер = Ложь) Экспорт
@ -135,7 +135,6 @@
КонецФункции
#КонецОбласти
/////////////////////////////////////////////////////////////////////////////////
@ -241,6 +240,15 @@
КонецПроцедуры
Процедура УдалитьКонтекст() Экспорт
#Если Клиент Тогда
ЮТКонтекстКлиент.УдалитьКонтекст();
#КонецЕсли
ЮТКонтекстСервер.УдалитьКонтекст();
КонецПроцедуры
#КонецОбласти
/////////////////////////////////////////////////////////////////////////////////

View File

@ -41,6 +41,12 @@
КонецФункции
Процедура УдалитьКонтекст() Экспорт
ЮТДанныеКонтекста = Неопределено;
КонецПроцедуры
#КонецОбласти
/////////////////////////////////////////////////////////////////////////////////

View File

@ -52,11 +52,11 @@
КонецФункции
// УстановитьЗначениеКонтекста
// Устанавливает значение "подконтекста", вложенного реквизита контекста
// Устанавливает значение вложенного контекста, вложенного реквизита контекста
//
// Параметры:
// ИмяРеквизита - Строка - Имя реквизита/подконтекста
// Значение - Произвольный - Новое значение реквизитиа/подконтекста
// ИмяРеквизита - Строка - Имя реквизита/вложенного контекста
// Значение - Произвольный - Новое значение реквизита/вложенного контекста
Процедура УстановитьЗначениеКонтекста(Знач ИмяРеквизита, Знач Значение) Экспорт
ЮТКонтекст.УстановитьЗначениеКонтекста(ИмяРеквизита, Значение);
@ -83,6 +83,18 @@
КонецФункции
Процедура УдалитьКонтекст() Экспорт
Адрес = АдресСерверногоКонтекста();
Если ЭтоАдресВременногоХранилища(Адрес) Тогда
УдалитьИзВременногоХранилища(Адрес);
ХранилищеОбщихНастроек.Удалить(КлючНастроекКонтекста(), "АдресХранилища", Неопределено);
ОбновитьПовторноИспользуемыеЗначения();
КонецЕсли;
КонецПроцедуры
#КонецОбласти
/////////////////////////////////////////////////////////////////////////////////

View File

@ -26,7 +26,7 @@
// Формирует отчет о результатах тестирования по заданным параметрам
// Параметры:
// РезультатВыполнения - Массив - Коллекция результатов выполнения, каждый элемент - структура, см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов
// ПараметрыЗапуска - Струкрура - Параметры запуска, см. ЮТФабрика.ПараметрыЗапуска
// ПараметрыЗапуска - Структура - Параметры запуска, см. ЮТФабрика.ПараметрыЗапуска
Процедура СформироватьОтчет(РезультатВыполнения, ПараметрыЗапуска) Экспорт
Модули = ЮТРасширения.ГенераторыОтчетов();
@ -92,12 +92,10 @@
ВызватьИсключение "Не указан путь сохранения отчета";
КонецЕсли;
Файл = Новый Файл(ПутьКОтчету);
Если Файл.Существует() И Файл.ЭтоКаталог() Тогда
ИмяФайла = Файл.ПолноеИмя + ПолучитьРазделительПути() + Модуль.ИмяФайлаПоУмолчанию();
Если ЮТОбщий.ЭтоКаталог(ПутьКОтчету) Тогда
ИмяФайла = ЮТОбщий.ОбъединитьПути(ПутьКОтчету, Модуль.ИмяФайлаПоУмолчанию());
Иначе
ИмяФайла = Файл.ПолноеИмя;
ИмяФайла = ПутьКОтчету;
КонецЕсли;
Возврат ИмяФайла;

View File

@ -156,9 +156,7 @@
ВызватьИсключение "Расширение подключено в безопасном режиме. Чтение конфигурационного файла недоступно";
КонецЕсли;
Файл = Новый Файл(ПутьКФайлу);
Если Не Файл.Существует() Тогда
Если Не ЮТОбщий.ФайлСуществует(ПутьКФайлу) Тогда
ВызватьИсключение СтрШаблон("Ошибка загрузки настроек из файла: Файл '%1' не существует", ПутьКФайлу);
КонецЕсли;

View File

@ -1,5 +1,68 @@
<?xml version="1.0" encoding="UTF-8"?>
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form">
<items xsi:type="form:FormGroup">
<name>ОсновнаяКоманднаяПанель</name>
<id>122</id>
<items xsi:type="form:Button">
<name>ФормаСформироватьНастройки</name>
<id>125</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаСформироватьНастройкиРасширеннаяПодсказка</name>
<id>115</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.СформироватьНастройки</commandName>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Группа1</value>
</title>
<extendedTooltip>
<name>ОсновнаяКоманднаяПанельРасширеннаяПодсказка</name>
<id>123</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>CommandBar</type>
<extInfo xsi:type="form:CommandBarExtInfo">
<horizontalAlign>Left</horizontalAlign>
<commandSource>Item.ДеревоТестов</commandSource>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>ГруппаОсновное</name>
<id>85</id>
@ -1071,7 +1134,7 @@
<key>ru</key>
<value>Дерево тестов</value>
</title>
<id>2</id>
<id>124</id>
<valueType>
<types>ValueTree</types>
</valueType>

View File

@ -83,6 +83,13 @@
КонецПроцедуры
&НаКлиенте
Процедура СформироватьНастройки(Команда)
ОткрытьФорму("Обработка.ЮТЮнитТесты.Форма.СозданиеНастройки", , ЭтотОбъект);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции

View File

@ -0,0 +1,888 @@
<?xml version="1.0" encoding="UTF-8"?>
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form">
<title>
<key>ru</key>
<value>Конфигурация запуска тестов</value>
</title>
<items xsi:type="form:Table">
<name>ДеревоТестов</name>
<id>61</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ДеревоТестов</segments>
</dataPath>
<titleLocation>None</titleLocation>
<items xsi:type="form:FormGroup">
<name>ДеревоТестовГруппаПредставление</name>
<id>34</id>
<items xsi:type="form:FormField">
<name>ДеревоТестовОтметка</name>
<id>31</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ДеревоТестов.Отметка</segments>
</dataPath>
<titleLocation>None</titleLocation>
<handlers>
<event>OnChange</event>
<name>ДеревоТестовОтметкаПриИзменении</name>
</handlers>
<extendedTooltip>
<name>ДеревоТестовОтметкаРасширеннаяПодсказка</name>
<id>33</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ДеревоТестовОтметкаКонтекстноеМеню</name>
<id>32</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>CheckBoxField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:CheckBoxFieldExtInfo">
<threeState>true</threeState>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>ДеревоТестовПредставление</name>
<id>22</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ДеревоТестов.Представление</segments>
</dataPath>
<extendedTooltip>
<name>ДеревоТестовПредставлениеРасширеннаяПодсказка</name>
<id>24</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ДеревоТестовПредставлениеКонтекстноеМеню</name>
<id>23</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Дерево тестов группа1</value>
</title>
<extendedTooltip>
<name>ДеревоТестовГруппаПредставлениеРасширеннаяПодсказка</name>
<id>35</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>ColumnGroup</type>
<extInfo xsi:type="form:ColumnGroupExtInfo">
<group>InCell</group>
<showTitle>true</showTitle>
</extInfo>
</items>
<autoCommandBar>
<name>ДеревоТестовКоманднаяПанель</name>
<id>62</id>
<items xsi:type="form:Button">
<name>ДеревоТестовУстановитьФлажки</name>
<id>36</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ДеревоТестовУстановитьФлажкиРасширеннаяПодсказка</name>
<id>37</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.УстановитьФлажки</commandName>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>ДеревоТестовСнятьФлажки</name>
<id>38</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ДеревоТестовСнятьФлажкиРасширеннаяПодсказка</name>
<id>39</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.СнятьФлажки</commandName>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>ДеревоТестовСохранитьПараметры</name>
<id>58</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ДеревоТестовСохранитьПараметрыРасширеннаяПодсказка</name>
<id>59</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.СохранитьПараметры</commandName>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<groupHorizontalAlign>Right</groupHorizontalAlign>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill>
</autoCommandBar>
<searchStringAddition>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<name>ДеревоТестовСтрокаПоиска</name>
<id>13</id>
<extendedTooltip>
<name>ДеревоТестовСтрокаПоискаРасширеннаяПодсказка</name>
<id>15</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ДеревоТестовСтрокаПоискаКонтекстноеМеню</name>
<id>14</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<extInfo xsi:type="form:SearchStringAdditionExtInfo">
<autoMaxWidth>true</autoMaxWidth>
</extInfo>
</searchStringAddition>
<viewStatusAddition>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<name>ДеревоТестовСостояниеПросмотра</name>
<id>19</id>
<extendedTooltip>
<name>ДеревоТестовСостояниеПросмотраРасширеннаяПодсказка</name>
<id>21</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ДеревоТестовСостояниеПросмотраКонтекстноеМеню</name>
<id>20</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>ViewStatusAddition</type>
<extInfo xsi:type="form:ViewStatusAdditionExtInfo">
<autoMaxWidth>true</autoMaxWidth>
</extInfo>
</viewStatusAddition>
<searchControlAddition>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<name>ДеревоТестовУправлениеПоиском</name>
<id>16</id>
<extendedTooltip>
<name>ДеревоТестовУправлениеПоискомРасширеннаяПодсказка</name>
<id>18</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ДеревоТестовУправлениеПоискомКонтекстноеМеню</name>
<id>17</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>SearchControlAddition</type>
<extInfo xsi:type="form:SearchControlAdditionExtInfo">
<autoMaxWidth>true</autoMaxWidth>
</extInfo>
</searchControlAddition>
<extendedTooltip>
<name>ДеревоТестовРасширеннаяПодсказка</name>
<id>12</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ДеревоТестовКонтекстноеМеню</name>
<id>63</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<representation>Tree</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<autoMaxRowsCount>true</autoMaxRowsCount>
<selectionMode>MultiRow</selectionMode>
<headerHeight>1</headerHeight>
<footerHeight>1</footerHeight>
<horizontalScrollBar>AutoUse</horizontalScrollBar>
<verticalScrollBar>AutoUse</verticalScrollBar>
<horizontalLines>true</horizontalLines>
<verticalLines>true</verticalLines>
<searchOnInput>Auto</searchOnInput>
<initialListView>Auto</initialListView>
<horizontalStretch>true</horizontalStretch>
<verticalStretch>true</verticalStretch>
<rowPictureDataPath xsi:type="form:DataPath">
<segments>ДеревоТестов.ТипОбъекта</segments>
</rowPictureDataPath>
<rowsPicture xsi:type="core:PictureRef">
<picture>CommonPicture.ЮТЭлементыТестов</picture>
</rowsPicture>
</items>
<items xsi:type="form:FormGroup">
<name>ГруппаПараметрыЗапуска</name>
<id>43</id>
<items xsi:type="form:FormField">
<name>ФайлКонфигурации</name>
<id>55</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ФайлКонфигурации</segments>
</dataPath>
<handlers>
<event>OnChange</event>
<name>ФайлКонфигурацииПриИзменении</name>
</handlers>
<extendedTooltip>
<name>ФайлКонфигурацииРасширеннаяПодсказка</name>
<id>57</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ФайлКонфигурацииКонтекстноеМеню</name>
<id>56</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<handlers>
<event>StartChoice</event>
<name>ФайлКонфигурацииНачалоВыбора</name>
</handlers>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<choiceButton>true</choiceButton>
<openButton>true</openButton>
<autoMarkIncomplete>true</autoMarkIncomplete>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>ГруппаНастройкиЗапуска</name>
<id>53</id>
<items xsi:type="form:FormField">
<name>ЗапускИзКонфигуратор</name>
<id>50</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ЗапускИзКонфигуратор</segments>
</dataPath>
<titleLocation>None</titleLocation>
<handlers>
<event>OnChange</event>
<name>ЗапускИзПредприятияПриИзменении</name>
</handlers>
<extendedTooltip>
<name>ЗапускИзКонфигураторРасширеннаяПодсказка</name>
<id>52</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ЗапускИзКонфигураторКонтекстноеМеню</name>
<id>51</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>CheckBoxField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:CheckBoxFieldExtInfo">
<checkBoxType>Tumbler</checkBoxType>
<editFormat>
<key>ru</key>
<value>БЛ='Строка запуска предприятия'; БИ='Запуск из конфигуратора'</value>
</editFormat>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>ПараметрыЗапуска</name>
<id>40</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ПараметрыЗапуска</segments>
</dataPath>
<titleLocation>None</titleLocation>
<extendedTooltip>
<name>ПараметрыЗапускаРасширеннаяПодсказка</name>
<id>42</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ПараметрыЗапускаКонтекстноеМеню</name>
<id>41</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ГруппаНастройкиЗапускаРасширеннаяПодсказка</name>
<id>54</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>HorizontalIfPossible</group>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>DontUse</currentRowUse>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Параметры запуска</value>
</title>
<extendedTooltip>
<name>ГруппаПараметрыЗапускаРасширеннаяПодсказка</name>
<id>44</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>Vertical</group>
<representation>WeakSeparation</representation>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<showTitle>true</showTitle>
<throughAlign>Auto</throughAlign>
<currentRowUse>DontUse</currentRowUse>
</extInfo>
</items>
<commandBarLocation>None</commandBarLocation>
<autoCommandBar>
<name>ФормаКоманднаяПанель</name>
<id>-1</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill>
</autoCommandBar>
<handlers>
<event>OnCreateAtServer</event>
<name>ПриСозданииНаСервере</name>
</handlers>
<handlers>
<event>OnOpen</event>
<name>ПриОткрытии</name>
</handlers>
<autoSaveDataInSettings>Use</autoSaveDataInSettings>
<autoUrl>true</autoUrl>
<group>Vertical</group>
<autoFillCheck>true</autoFillCheck>
<enabled>true</enabled>
<showTitle>true</showTitle>
<showCloseButton>true</showCloseButton>
<attributes>
<name>ДеревоТестов</name>
<title>
<key>ru</key>
<value>Дерево тестов</value>
</title>
<id>3</id>
<valueType>
<types>ValueTree</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
<columns>
<name>Представление</name>
<title>
<key>ru</key>
<value>Представление</value>
</title>
<id>4</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
<columns>
<name>Идентификатор</name>
<title>
<key>ru</key>
<value>Идентификатор</value>
</title>
<id>60</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
<columns>
<name>ТипОбъекта</name>
<title>
<key>ru</key>
<value>Тип объекта</value>
</title>
<id>6</id>
<valueType>
<types>Number</types>
<numberQualifiers>
<precision>1</precision>
</numberQualifiers>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
<columns>
<name>Отметка</name>
<title>
<key>ru</key>
<value>Отметка</value>
</title>
<id>8</id>
<valueType>
<types>Number</types>
<numberQualifiers>
<precision>1</precision>
</numberQualifiers>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
</attributes>
<attributes>
<name>ФайлКонфигурации</name>
<title>
<key>ru</key>
<value>Файл конфигурации</value>
</title>
<id>9</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
<settingsSavedData xsi:type="form:DataPath">
<segments>ФайлКонфигурации</segments>
</settingsSavedData>
</attributes>
<attributes>
<name>ПараметрыЗапуска</name>
<title>
<key>ru</key>
<value>Параметры запуска</value>
</title>
<id>10</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ЗапускИзКонфигуратор</name>
<title>
<key>ru</key>
<value>Запуск из конифгуратор</value>
</title>
<id>11</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
<settingsSavedData xsi:type="form:DataPath">
<segments>ЗапускИзКонфигуратор</segments>
</settingsSavedData>
</attributes>
<formCommands>
<name>УстановитьФлажки</name>
<title>
<key>ru</key>
<value>Установить флажки</value>
</title>
<id>1</id>
<use>
<common>true</common>
</use>
<picture xsi:type="core:PictureRef">
<picture>StdPicture.CheckAll</picture>
</picture>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>УстановитьФлажки</name>
</handler>
</action>
<currentRowUse>DontUse</currentRowUse>
</formCommands>
<formCommands>
<name>СнятьФлажки</name>
<title>
<key>ru</key>
<value>Снять флажки</value>
</title>
<id>2</id>
<use>
<common>true</common>
</use>
<picture xsi:type="core:PictureRef">
<picture>StdPicture.UncheckAll</picture>
</picture>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>СнятьФлажки</name>
</handler>
</action>
<currentRowUse>DontUse</currentRowUse>
</formCommands>
<formCommands>
<name>СохранитьПараметры</name>
<title>
<key>ru</key>
<value>Сохранить параметры</value>
</title>
<id>5</id>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>СохранитьПараметры</name>
</handler>
</action>
<currentRowUse>DontUse</currentRowUse>
</formCommands>
<commandInterface>
<navigationPanel/>
<commandBar/>
</commandInterface>
</form:Form>

View File

@ -0,0 +1,475 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2021-2022 BIA-Technologies Limited Liability Company
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
//©///////////////////////////////////////////////////////////////////////////©//
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
ЗаполнитьДеревоТестов();
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура ФайлКонфигурацииНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ВыбратьФайл("*.json|*.json", ФайлКонфигурации, Новый ОписаниеОповещения("УстановитьФайлКонфигурации", ЭтотОбъект));
КонецПроцедуры
&НаКлиенте
Процедура ЗапускИзПредприятияПриИзменении(Элемент)
ОбновитьСтрокуЗапуска();
КонецПроцедуры
&НаКлиенте
Процедура ФайлКонфигурацииПриИзменении(Элемент)
ОбновитьСтрокуЗапуска();
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыДеревоТестов
&НаКлиенте
Процедура ДеревоТестовОтметкаПриИзменении(Элемент)
Данные = Элементы.ДеревоТестов.ТекущиеДанные;
Если Данные.Отметка = 2 Тогда
Данные.Отметка = 0;
КонецЕсли;
УстановитьРекурсивноЗначение(Данные.ПолучитьЭлементы(), Данные.Отметка);
ОбновитьОтметкиРодителей(Данные);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура СнятьФлажки(Команда)
УстановитьРекурсивноЗначение(ДеревоТестов.ПолучитьЭлементы(), 0);
КонецПроцедуры
&НаКлиенте
Процедура УстановитьФлажки(Команда)
УстановитьРекурсивноЗначение(ДеревоТестов.ПолучитьЭлементы(), 1);
КонецПроцедуры
&НаКлиенте
Процедура СохранитьПараметры(Команда)
Если НЕ ЕстьОтмеченныеТесты() Тогда
ПоказатьПредупреждение(, "Отметьте тесты, которые должны выполниться");
Возврат;
КонецЕсли;
Если ПустаяСтрока(ФайлКонфигурации) Тогда
Обработчик = Новый ОписаниеОповещения("СохранитьПараметрыПослеВыбораФайла", ЭтотОбъект);
ВыбратьФайл("*.json|*.json", ФайлКонфигурации, Обработчик);
Иначе
СохранитьПараметрыПослеВыбораФайла(ФайлКонфигурации);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаКлиенте
Процедура ЗаполнитьДеревоТестов()
ЮТКонтекст.ИнициализироватьКонтекст();
ТестовыеМодули = ЮТЧитатель.ЗагрузитьТесты(Новый Структура("filter", Новый Структура));
ЮТКонтекст.УдалитьКонтекст();
СтрокиРасширений = Новый Соответствие();
Для Каждого ОписаниеМодуля Из ТестовыеМодули Цикл
ИмяРасширения = ОписаниеМодуля.МетаданныеМодуля.Расширение;
СтрокаРасширения = СтрокиРасширений[ИмяРасширения];
Если СтрокаРасширения = Неопределено Тогда
СтрокаРасширения = ДобавитьСтрокуРасширения(ДеревоТестов, ИмяРасширения);
СтрокиРасширений.Вставить(ИмяРасширения, СтрокаРасширения);
КонецЕсли;
СтрокаМодуля = ДобавитьСтрокуМодуля(СтрокаРасширения, ОписаниеМодуля.МетаданныеМодуля);
Если ОписаниеМодуля.НаборыТестов.Количество() = 1 Тогда
Для Каждого Тест Из ОписаниеМодуля.НаборыТестов[0].Тесты Цикл
ДобавитьСтрокуТеста(СтрокаМодуля, Тест);
КонецЦикла;
Иначе
Для Каждого Набор Из ОписаниеМодуля.НаборыТестов Цикл
СтрокаНабора = ДобавитьСтрокуНабора(СтрокаМодуля, Набор);
Для Каждого Тест Из Набор.Тесты Цикл
ДобавитьСтрокуТеста(СтрокаНабора, Тест);
КонецЦикла;
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Функция ДобавитьСтрокуРасширения(Владелец, ИмяРасширения)
Строка = Владелец.ПолучитьЭлементы().Добавить();
Строка.Идентификатор = ИмяРасширения;
Строка.Представление = ИмяРасширения;
Строка.ТипОбъекта = 0;
Возврат Строка;
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция ДобавитьСтрокуМодуля(Владелец, МетаданныеМодуля)
Строка = Владелец.ПолучитьЭлементы().Добавить();
Строка.Идентификатор = МетаданныеМодуля.Имя;
Строка.Представление = МетаданныеМодуля.Имя;
Строка.ТипОбъекта = 1;
Возврат Строка;
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция ДобавитьСтрокуНабора(Владелец, Набор)
Строка = Владелец.ПолучитьЭлементы().Добавить();
Строка.Идентификатор = Набор.Имя;
Строка.Представление = Набор.Представление;
Строка.ТипОбъекта = 2;
Возврат Строка;
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция ДобавитьСтрокуТеста(Владелец, Тест)
Представление = ЮТФабрика.ПредставлениеТеста(Тест);
Если Владелец.ТипОбъекта = 1 Тогда
СтрокаМодуля = Владелец;
Иначе
СтрокаМодуля = Владелец.ПолучитьРодителя();
КонецЕсли;
Строка = Владелец.ПолучитьЭлементы().Добавить();
Строка.Идентификатор = СтрШаблон("%1.%2", СтрокаМодуля.Идентификатор, Тест.Имя);
Строка.Представление = СтрШаблон("%1, %2", Представление, СтрСоединить(Тест.КонтекстВызова, ", "));
Строка.ТипОбъекта = 3;
Возврат Строка;
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьРекурсивноЗначение(Элементы, Значение, Колонка = "Отметка")
Для Каждого Элемент Из Элементы Цикл
Элемент[Колонка] = Значение;
Если ЗначениеЗаполнено(Элемент.ПолучитьЭлементы()) Тогда
УстановитьРекурсивноЗначение(Элемент.ПолучитьЭлементы(), Значение, Колонка);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ОбновитьОтметкиРодителей(Элемент)
Родитель = Элемент.ПолучитьРодителя();
Если Родитель = Неопределено Тогда
Возврат;
КонецЕсли;
ЕстьСОтметкой = Ложь;
ЕстьБезОтметки = Ложь;
Для Каждого Элемент Из Родитель.ПолучитьЭлементы() Цикл
Если Элемент.Отметка = 0 Тогда
ЕстьБезОтметки = Истина;
ИначеЕсли Элемент.Отметка = 1 Тогда
ЕстьСОтметкой = Истина;
ИначеЕсли Элемент.Отметка = 2 Тогда
ЕстьБезОтметки = Истина;
ЕстьСОтметкой = Истина;
КонецЕсли;
Если ЕстьБезОтметки И ЕстьСОтметкой Тогда
Прервать;
КонецЕсли;
КонецЦикла;
Если ЕстьСОтметкой И ЕстьБезОтметки Тогда
НоваяОтметка = 2;
ИначеЕсли ЕстьСОтметкой Тогда
НоваяОтметка = 1;
Иначе
НоваяОтметка = 0;
КонецЕсли;
Если Родитель.Отметка = НоваяОтметка Тогда
Возврат;
КонецЕсли;
Родитель.Отметка = НоваяОтметка;
ОбновитьОтметкиРодителей(Родитель);
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьСтрокуЗапуска()
ПараметрыЗапускаЮнитТестов = СтрШаблон("%1=%2", ЮТПараметры.КлючЗапуска(), ФайлКонфигурации);
Если ЗапускИзКонфигуратор Тогда
ПараметрыЗапуска = ПараметрыЗапускаЮнитТестов;
Иначе
#Если ВебКлиент Тогда
ВызватьИсключение "Формирование строки запуска для веб-клиенте не поддерживается";
#Иначе
СистемнаяИнформация = Новый СистемнаяИнформация;
#Если ТонкийКлиент Тогда
Файл = "1cv8c";
#Иначе
Файл = "1cv8";
#КонецЕсли
ПутьЗапускаемогоКлиента = КаталогПрограммы() + ПолучитьРазделительПути() + Файл;
Если СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86 Или СистемнаяИнформация.ТипПлатформы
= ТипПлатформы.Windows_x86_64 Тогда
ПутьЗапускаемогоКлиента = ПутьЗапускаемогоКлиента + ".exe";
КонецЕсли;
ПараметрыЗапуска = СтрШаблон("""%1"" /N""%2"" /IBConnectionString ""%3"" /C""%4""",
ПутьЗапускаемогоКлиента,
ИмяПользователя(),
СтрЗаменить(СтрокаСоединенияИнформационнойБазы(), """", """"""),
ПараметрыЗапускаЮнитТестов);
#КонецЕсли
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СохранитьПараметрыПослеВыбораФайла(ВыбранныйФайл, ДополнительныеПараметры = Неопределено) Экспорт
ФайлКонфигурации = ВыбранныйФайл;
ОбновитьСтрокуЗапуска();
СохранитьКонфигурациюЗапуска();
КонецПроцедуры
&НаКлиенте
Процедура УстановитьФайлКонфигурации(ВыбранныйФайл, ДополнительныеПараметры) Экспорт
ФайлКонфигурации = ВыбранныйФайл;
ОбновитьСтрокуЗапуска();
КонецПроцедуры
&НаКлиенте
Процедура ВыбратьФайл(Фильтр, ИмяФайла, Оповещение)
ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
ДиалогВыбораФайла.Фильтр = Фильтр;
ДиалогВыбораФайла.МножественныйВыбор = Ложь;
ДиалогВыбораФайла.ПолноеИмяФайла = ИмяФайла;
ПараметрыОбработчика = Новый Структура("Оповещение", Оповещение);
Обработчик = Новый ОписаниеОповещения("ПослеВыбораФайла", ЭтотОбъект, ПараметрыОбработчика);
ДиалогВыбораФайла.Показать(Обработчик);
КонецПроцедуры
&НаКлиенте
Процедура ПослеВыбораФайла(ВыбранныеФайлы, ДополнительныеПараметры) Экспорт
Если ВыбранныеФайлы <> Неопределено Тогда
ВыполнитьОбработкуОповещения(ДополнительныеПараметры.Оповещение, ВыбранныеФайлы[0]);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СохранитьКонфигурациюЗапуска()
#Если ВебКлиент Тогда
ВызватьИсключение "Сохранение конфигурации из веб-клиента не поддерживается";
#Иначе
Конфигурация = ЮТФабрика.ПараметрыЗапуска();
Конфигурация.showReport = Истина;
Конфигурация.closeAfterTests = Истина;
Конфигурация.reportPath = ЮТОбщий.Каталог(ФайлКонфигурации);
Конфигурация.Удалить("ВыполнятьМодульноеТестирование");
Если НЕ (УстановленФильтрПоРасширению(Конфигурация) ИЛИ УстановленФильтрПоМодулям(Конфигурация)) Тогда
УстановитьФильтрПоТестам(Конфигурация);
КонецЕсли;
Запись = Новый ЗаписьJSON();
Запись.ОткрытьФайл(ФайлКонфигурации);
ЗаписатьJSON(Запись, Конфигурация);
Запись.Закрыть();
#КонецЕсли
КонецПроцедуры
&НаКлиенте
Функция ЕстьОтмеченныеТесты()
Для Каждого СтрокаРасширения Из ДеревоТестов.ПолучитьЭлементы() Цикл
Если СтрокаРасширения.Отметка > 0 Тогда
Возврат Истина;
КонецЕсли;
КонецЦикла;
Возврат Ложь;
КонецФункции
&НаКлиенте
Функция УстановленФильтрПоРасширению(Конфигурация)
Расширения = Новый Массив();
Для Каждого СтрокаРасширения Из ДеревоТестов.ПолучитьЭлементы() Цикл
Если СтрокаРасширения.Отметка = 2 Тогда
Возврат Ложь;
ИначеЕсли СтрокаРасширения.Отметка = 1 Тогда
Расширения.Добавить(СтрокаРасширения.Идентификатор);
КонецЕсли;
КонецЦикла;
Если Расширения.Количество() Тогда
Конфигурация.filter.extensions = Расширения;
КонецЕсли;
Возврат Расширения.Количество() > 0;
КонецФункции
&НаКлиенте
Функция УстановленФильтрПоМодулям(Конфигурация)
Модули = Новый Массив();
Для Каждого СтрокаРасширения Из ДеревоТестов.ПолучитьЭлементы() Цикл
Если СтрокаРасширения.Отметка = 0 Тогда
Продолжить;
КонецЕсли;
Для Каждого СтрокаМодуля Из СтрокаРасширения.ПолучитьЭлементы() Цикл
Если СтрокаМодуля.Отметка = 2 Тогда
Возврат Ложь;
ИначеЕсли СтрокаМодуля.Отметка = 1 Тогда
Модули.Добавить(СтрокаМодуля.Идентификатор);
КонецЕсли;
КонецЦикла;
КонецЦикла;
Если Модули.Количество() Тогда
Конфигурация.filter.modules = Модули;
КонецЕсли;
Возврат Модули.Количество() > 0;
КонецФункции
&НаКлиенте
Процедура УстановитьФильтрПоТестам(Конфигурация)
Тесты = Новый Массив();
ДобавитьОтмеченныеТесты(ДеревоТестов.ПолучитьЭлементы(), Тесты);
Конфигурация.filter.tests = Тесты;
КонецПроцедуры
&НаКлиенте
Процедура ДобавитьОтмеченныеТесты(Строки, Тесты)
Для Каждого Строка Из Строки Цикл
Если Строка.Отметка = 0 Тогда
Продолжить;
КонецЕсли;
Если Строка.ТипОбъекта = 3 Тогда
Тесты.Добавить(Строка.Идентификатор);
Иначе
ДобавитьОтмеченныеТесты(Строка.ПолучитьЭлементы(), Тесты);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
#КонецОбласти

View File

@ -20,6 +20,15 @@
<usePurposes>PersonalComputer</usePurposes>
<usePurposes>MobileDevice</usePurposes>
</forms>
<forms uuid="92f4d1b5-d045-482b-b1ed-b8076caf180c">
<name>СозданиеНастройки</name>
<synonym>
<key>ru</key>
<value>Создание настройки</value>
</synonym>
<usePurposes>PersonalComputer</usePurposes>
<usePurposes>MobileDevice</usePurposes>
</forms>
<forms uuid="7b2e6e42-7ce3-4e80-b14c-6c492850cc66">
<name>Сравнение</name>
<synonym>

View File

@ -3,8 +3,9 @@
<name>ЮТДвижок</name>
<synonym>
<key>ru</key>
<value>Движок</value>
<value>Юнит тесты</value>
</synonym>
<includeInCommandInterface>true</includeInCommandInterface>
<content>CommonModule.Мокито</content>
<content>CommonModule.МокитоОбучение</content>
<content>CommonModule.МокитоПроверки</content>