1
0
mirror of https://github.com/bia-technologies/yaxunit.git synced 2025-03-17 20:48:01 +02:00

Merge pull request #396 from bia-technologies/feature/380

380 / Доработка формы тестов
This commit is contained in:
Koryakin Aleksey 2024-08-08 21:53:33 +03:00 committed by GitHub
commit 2243ead697
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
33 changed files with 989 additions and 348 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 188 KiB

After

Width:  |  Height:  |  Size: 194 KiB

View File

@ -21,7 +21,10 @@
// ПараметрыЗапуска
// Возвращает загруженные параметры запуска тестирования
// Параметры:
// ПараметрыЗапускаСтрокой - Строка - Параметры запуска приложения
// ПараметрыЗапускаСтрокой - Строка - Строка с параметрами запуска.
// Содержит ключ запуска и строку с конфигурационным файлом.
// Формат строки "RunUnitTests=/путь/к/конфигурационному/файлу",
// где ключ указывается обязательно, а путь - по желанию
// Обработчик - ОписаниеОповещения
//
// Возвращаемое значение:
@ -30,7 +33,8 @@
Попытка
Параметры = ПрочитатьПараметрыЗапуска(ПараметрыЗапускаСтрокой, Обработчик);
ПараметрыЗапускаПредприятия = ПараметрыЗапускаПредприятия(ПараметрыЗапускаСтрокой);
Параметры = ПрочитатьПараметрыЗапуска(ПараметрыЗапускаПредприятия, Обработчик);
Исключение
@ -60,6 +64,26 @@
КонецФункции
Функция ПараметрыЗапускаИзФайла(ИмяФайла, Обработчик) Экспорт
Параметры = Новый Структура(КлючЗапуска(), ИмяФайла);
Возврат ПрочитатьПараметрыЗапуска(Параметры, Обработчик);
КонецФункции
Функция ФайлПараметровЗапускаТестирования() Экспорт
ПараметрыЗапускаПредприятия = ПараметрыЗапускаПредприятия(ПараметрЗапуска);
ИмяФайла = ПараметрыЗапускаПредприятия.Свойство(КлючЗапуска());
Если ЗначениеЗаполнено(ИмяФайла) И ТипЗнч(ИмяФайла) = Тип("Строка") Тогда
Возврат ИмяФайла;
Иначе
Возврат Неопределено;
КонецЕсли;
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@ -67,50 +91,52 @@
// ПрочитатьПараметрыЗапуска
// Читает параметры из строки запуска
// Параметры:
// ПараметрыЗапускаСтрокой - Строка - Строка с параметрами запуска.
// Содержит ключ запуска и строку с конфигурационным файлом.
// Формат строки "RunUnitTests=/путь/к/конфигурационному/файлу",
// где ключ указывается обязательно, а путь - по желанию
// ПараметрыЗапускаПредприятия - Структура - Структура параметров запуска предприятия полученная из `ПараметрЗапуска`
// Обработчик - ОписаниеОповещения
//
// Возвращаемое значение:
// см. ЮТФабрика.ПараметрыЗапуска
Функция ПрочитатьПараметрыЗапуска(Знач ПараметрыЗапускаСтрокой, Обработчик)
Функция ПрочитатьПараметрыЗапуска(ПараметрыЗапускаПредприятия, Обработчик)
Параметры = ЮТФабрика.ПараметрыЗапуска();
ЮТСобытияСлужебный.УстановитьПараметрыЗапускаПоУмолчанию(Параметры);
ПараметрыТестирования = ЮТФабрика.ПараметрыЗапуска();
ЗагруженныеПараметрыТестирования = ПереданныеПараметрыТестирования(ПараметрыЗапускаПредприятия);
Если Не ЗначениеЗаполнено(ПараметрыЗапускаСтрокой) Тогда
ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьОбработчик(Обработчик, Параметры);
Возврат Параметры;
ВыполнятьТестирование = ЮТКоллекции.ЗначениеСтруктуры(ЗагруженныеПараметрыТестирования, "ВыполнятьМодульноеТестирование", Ложь);
Если ВыполнятьТестирование Тогда
ЮТСобытияСлужебный.УстановитьПараметрыЗапускаПоУмолчанию(ПараметрыТестирования);
ДополнитьПараметрыПрочитанными(ПараметрыТестирования, ЗагруженныеПараметрыТестирования);
КонецЕсли;
ПараметрыЗапускаПредприятия = ПараметрыЗапускаПредприятия(ПараметрыЗапускаСтрокой);
ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьОбработчик(Обработчик, Параметрытестирования);
Возврат Параметрытестирования;
ЗначениеКлючаЗапуска = ЮТКоллекции.ЗначениеСтруктуры(ПараметрыЗапускаПредприятия, КлючЗапуска(), Ложь);
КонецФункции
Функция ПереданныеПараметрыТестирования(ПараметрыЗапускаПредприятия)
Если ТипЗнч(ЗначениеКлючаЗапуска) = Тип("Булево") Тогда
ПараметрЗапускаТестов = ЮТКоллекции.ЗначениеСтруктуры(ПараметрыЗапускаПредприятия, КлючЗапуска(), Ложь);
ТипПараметра = ТипЗнч(ПараметрЗапускаТестов);
Если ТипПараметра = Тип("Булево") Тогда
Параметры.ВыполнятьМодульноеТестирование = ЗначениеКлючаЗапуска;
Параметры = Новый Структура("ВыполнятьМодульноеТестирование, showReport, closeAfterTests");
Параметры.ВыполнятьМодульноеТестирование = ПараметрЗапускаТестов;
Параметры.showReport = Истина;
Параметры.closeAfterTests = Ложь;
ИначеЕсли ТипЗнч(ЗначениеКлючаЗапуска) = Тип("Строка") Тогда
ИначеЕсли ТипПараметра <> Тип("Строка") Или НЕ ЗначениеЗаполнено(ПараметрЗапускаТестов) Тогда
Параметры.ВыполнятьМодульноеТестирование = Истина;
КонфигурационныйФайл = ЗначениеКлючаЗапуска;
Параметры = Новый Структура;
Иначе
Параметры = ПрочитатьКонфигурационныйФайл(ПараметрЗапускаТестов);
Параметры.Вставить("ВыполнятьМодульноеТестирование", Истина);
КонецЕсли;
Если ЗначениеЗаполнено(КонфигурационныйФайл) Тогда
ПараметрыИзФайла = ПрочитатьКонфигурационныйФайл(КонфигурационныйФайл);
ДополнитьПараметрыПрочитанными(Параметры, ПараметрыИзФайла);
КонецЕсли;
ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьОбработчик(Обработчик, Параметры);
Возврат Параметры;
КонецФункции

View File

@ -0,0 +1,67 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2021-2024 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.
//
//©///////////////////////////////////////////////////////////////////////////©//
#Область СлужебныйПрограммныйИнтерфейс
Процедура ВыбратьСохраняемыйФайл(Фильтр, ИмяФайла, Оповещение) Экспорт
ВыбратьФайл(РежимДиалогаВыбораФайла.Сохранение, Фильтр, ИмяФайла, Оповещение);
КонецПроцедуры
Процедура ВыбратьЗагружаемыйФайл(Фильтр, ИмяФайла, Оповещение) Экспорт
ВыбратьФайл(РежимДиалогаВыбораФайла.Открытие, Фильтр, ИмяФайла, Оповещение);
КонецПроцедуры
Процедура ВыбратьКаталог(ИмяФайла, Оповещение) Экспорт
ВыбратьФайл(РежимДиалогаВыбораФайла.ВыборКаталога, Неопределено, ИмяФайла, Оповещение);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Процедура ПослеВыбораФайла(ВыбранныеФайлы, ДополнительныеПараметры) Экспорт
Если ВыбранныеФайлы <> Неопределено Тогда
ВыполнитьОбработкуОповещения(ДополнительныеПараметры.Оповещение, ВыбранныеФайлы[0]);
КонецЕсли;
КонецПроцедуры
Процедура ВыбратьФайл(Режим, Фильтр, ИмяФайла, Оповещение)
ДиалогВыбораФайла = Новый ДиалогВыбораФайла(Режим);
Если ЗначениеЗаполнено(Фильтр) Тогда
ДиалогВыбораФайла.Фильтр = Фильтр;
КонецЕсли;
ДиалогВыбораФайла.МножественныйВыбор = Ложь;
ДиалогВыбораФайла.ПолноеИмяФайла = ИмяФайла;
ПараметрыОбработчика = Новый Структура("Оповещение", Оповещение);
Обработчик = Новый ОписаниеОповещения("ПослеВыбораФайла", ЭтотОбъект, ПараметрыОбработчика);
ДиалогВыбораФайла.Показать(Обработчик);
КонецПроцедуры
#КонецОбласти

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="9a835c0e-e6c6-4680-8760-b4fe7f85504d">
<name>ЮТПользовательскийИнтерфейсСлужебныйКлиент</name>
<synonym>
<key>ru</key>
<value>Пользовательский интерфейс</value>
</synonym>
<clientManagedApplication>true</clientManagedApplication>
<clientOrdinaryApplication>true</clientOrdinaryApplication>
</mdclass:CommonModule>

View File

@ -0,0 +1 @@
inkscape --export-type="png" **/*.svg

Binary file not shown.

After

Width:  |  Height:  |  Size: 493 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 B

View File

@ -0,0 +1,5 @@
<!-- Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.03794 8.69139C7.06198 8.74949 7.09744 8.80398 7.14433 8.85143C7.14574 8.85285 7.14715 8.85426 7.14857 8.85567C7.23888 8.94491 7.36301 9 7.5 9H7.50009H11.5C11.7761 9 12 8.77614 12 8.5C12 8.22386 11.7761 8 11.5 8H8.70711L13.8536 2.85355C14.0488 2.65829 14.0488 2.34171 13.8536 2.14645C13.6583 1.95118 13.3417 1.95118 13.1464 2.14645L8 7.29289V4.5C8 4.22386 7.77614 4 7.5 4C7.22386 4 7 4.22386 7 4.5V8.49965C7 8.50077 7 8.50188 7.00001 8.503C7.00039 8.56713 7.01303 8.6312 7.03794 8.69139Z" fill="#6C707E"/>
<path d="M2.5 4.5V12C2.5 12.8284 3.17157 13.5 4 13.5H11.5" stroke="#6C707E" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 888 B

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonPicture xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="176bf272-409f-4bd5-8ff6-4e90057231a9">
<name>ЮТИмпорт</name>
<synonym>
<key>ru</key>
<value>Импорт</value>
</synonym>
</mdclass:CommonPicture>

Binary file not shown.

After

Width:  |  Height:  |  Size: 693 B

View File

@ -0,0 +1,5 @@
<!-- Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<svg width="16" height="16" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3.32162 2.54657C3.74755 2.55124 4.14217 2.32341 4.35109 1.9522L5.09534 0.629884C5.12166 0.583113 5.15824 0.564157 5.18389 0.560336C5.45049 0.52062 5.72359 0.5 6.00183 0.5C6.28002 0.5 6.55308 0.520613 6.81964 0.560318C6.84529 0.564139 6.88187 0.583095 6.90819 0.629866L7.65245 1.9522C7.86138 2.3234 8.256 2.55124 8.68193 2.54657L10.1985 2.52996C10.252 2.52937 10.2868 2.55148 10.303 2.57186C10.6425 2.99718 10.92 3.47369 11.1222 3.98773C11.1317 4.01176 11.1335 4.05283 11.1062 4.09897L10.3326 5.40563C10.1156 5.77217 10.1156 6.22784 10.3326 6.59437L11.1062 7.90104C11.1335 7.94718 11.1317 7.98825 11.1222 8.01227C10.92 8.52631 10.6425 9.00282 10.303 9.42814C10.2868 9.44853 10.252 9.47063 10.1985 9.47004L8.68193 9.45343C8.256 9.44876 7.86138 9.6766 7.65245 10.0478L6.9082 11.3701C6.88187 11.4169 6.84529 11.4359 6.81964 11.4397C6.55308 11.4794 6.28002 11.5 6.00183 11.5C5.72359 11.5 5.45049 11.4794 5.18389 11.4397C5.15824 11.4358 5.12166 11.4169 5.09534 11.3701L4.35109 10.0478C4.14217 9.6766 3.74755 9.44876 3.32162 9.45343L1.80519 9.47004C1.75167 9.47063 1.71689 9.44852 1.70062 9.42814C1.36113 9.00279 1.08358 8.52625 0.881387 8.01216C0.871939 7.98814 0.870071 7.94707 0.897388 7.90093L1.67094 6.59437C1.88794 6.22784 1.88794 5.77217 1.67094 5.40563L0.897387 4.09907C0.870071 4.05293 0.871938 4.01187 0.881386 3.98784C1.08358 3.47376 1.36112 2.99721 1.70062 2.57186C1.71689 2.55148 1.75167 2.52937 1.80519 2.52996L3.32162 2.54657Z" stroke="#818594"/>
<circle cx="6" cy="6" r="1.5" stroke="#818594"/>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonPicture xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="3ada4ccc-adc9-45a8-b99a-be53676c25cf">
<name>ЮТНастройки</name>
<synonym>
<key>ru</key>
<value>Настройки</value>
</synonym>
</mdclass:CommonPicture>

Binary file not shown.

After

Width:  |  Height:  |  Size: 405 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 450 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 558 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 458 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 475 B

View File

@ -0,0 +1,4 @@
<!-- Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11.5973 7.65471L13.6882 5.56049C14.1053 5.15406 14.1003 4.49602 13.6948 4.08627L12.0267 2.3136L12.0224 2.30932C11.6123 1.90004 10.942 1.89327 10.5331 2.31079L8.3867 4.44406M11.5973 7.65471L8.3867 4.44406M11.5973 7.65471L5.74041 13.5H2.50036L2.5 10.32L8.3867 4.44406" stroke="#6C707E" stroke-miterlimit="10"/>
</svg>

After

Width:  |  Height:  |  Size: 549 B

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonPicture xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="d9d37c2e-6595-41ee-abc5-d4f90b7179fb">
<name>ЮТРедактировать</name>
<synonym>
<key>ru</key>
<value>Редактировать</value>
</synonym>
</mdclass:CommonPicture>

Binary file not shown.

After

Width:  |  Height:  |  Size: 271 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 486 B

View File

@ -0,0 +1,6 @@
<!-- Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<svg width="16" height="16" viewBox="2 2 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="2.5" y="2.5" width="4.5" height="4.5" rx="1" stroke="#6C707E"/>
<rect x="2.5" y="9" width="4.5" height="4.5" rx="1" stroke="#6C707E"/>
<rect x="9" y="9" width="4.5" height="4.5" rx="1" stroke="#6C707E"/>
</svg>

After

Width:  |  Height:  |  Size: 443 B

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonPicture xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="f1a387d7-ccc1-45e7-8251-56cd8e8773d0">
<name>ЮТСтруктура</name>
<synonym>
<key>ru</key>
<value>Структура</value>
</synonym>
</mdclass:CommonPicture>

Binary file not shown.

After

Width:  |  Height:  |  Size: 518 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 356 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -33,12 +33,16 @@
<subsystems>Subsystem.ЮТПодключаемыеМодули</subsystems>
<subsystems>Subsystem.ЮТПубличный</subsystems>
<commonPictures>CommonPicture.ЮТЗапустить</commonPictures>
<commonPictures>CommonPicture.ЮТИмпорт</commonPictures>
<commonPictures>CommonPicture.ЮТНастройки</commonPictures>
<commonPictures>CommonPicture.ЮТНеизвестный</commonPictures>
<commonPictures>CommonPicture.ЮТОшибка</commonPictures>
<commonPictures>CommonPicture.ЮТПерезапуститьУпавшие</commonPictures>
<commonPictures>CommonPicture.ЮТПодсистема</commonPictures>
<commonPictures>CommonPicture.ЮТПропущен</commonPictures>
<commonPictures>CommonPicture.ЮТРедактировать</commonPictures>
<commonPictures>CommonPicture.ЮТСравнить</commonPictures>
<commonPictures>CommonPicture.ЮТСтруктура</commonPictures>
<commonPictures>CommonPicture.ЮТУпал</commonPictures>
<commonPictures>CommonPicture.ЮТУспешно</commonPictures>
<commonPictures>CommonPicture.ЮТЭлементыТестов</commonPictures>
@ -116,6 +120,7 @@
<commonModules>CommonModule.ЮТПодражательСлужебный</commonModules>
<commonModules>CommonModule.ЮТПодражательСлужебныйВызовСервера</commonModules>
<commonModules>CommonModule.ЮТПодражательСлужебныйПовтИсп</commonModules>
<commonModules>CommonModule.ЮТПользовательскийИнтерфейсСлужебныйКлиент</commonModules>
<commonModules>CommonModule.ЮТПредикаты</commonModules>
<commonModules>CommonModule.ЮТПредикатыСлужебныйКлиентСервер</commonModules>
<commonModules>CommonModule.ЮТПреобразованияСлужебный</commonModules>

View File

@ -1,60 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<ConditionalAppearance xmlns="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" 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:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows">
<item>
<selection>
<item>
<field>ДеревоТестовПрогресс</field>
</item>
</selection>
<filter>
<item xsi:type="FilterItemComparison">
<left xsi:type="dcscor:Field">ДеревоТестов.Набор</left>
<comparisonType>Equal</comparisonType>
<right xsi:type="xs:boolean">false</right>
</item>
</filter>
<appearance>
<dcscor:item xsi:type="SettingsParameterValue">
<dcscor:parameter>Видимость</dcscor:parameter>
<dcscor:value xsi:type="xs:boolean">false</dcscor:value>
</dcscor:item>
</appearance>
<presentation xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Скрытие колонок. Тест</v8:content>
</v8:item>
</presentation>
</item>
<item>
<selection>
<item>
<field>ДеревоТестовИконка</field>
</item>
<item>
<field>ДеревоТестовСостояние</field>
</item>
</selection>
<filter>
<item xsi:type="FilterItemComparison">
<left xsi:type="dcscor:Field">ДеревоТестов.Набор</left>
<comparisonType>Equal</comparisonType>
<right xsi:type="xs:boolean">true</right>
</item>
</filter>
<appearance>
<dcscor:item xsi:type="SettingsParameterValue">
<dcscor:parameter>Видимость</dcscor:parameter>
<dcscor:value xsi:type="xs:boolean">false</dcscor:value>
</dcscor:item>
</appearance>
<presentation xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Скрытие колонок. Набор</v8:content>
</v8:item>
</presentation>
</item>
<item>
<selection>
<item>

View File

@ -228,17 +228,51 @@
<representation>Compact</representation>
</extInfo>
</items>
<items xsi:type="form:Button">
<name>ФормаСформироватьНастройки</name>
<id>17</id>
<items xsi:type="form:FormGroup">
<name>ГруппаТесты</name>
<id>173</id>
<items xsi:type="form:Button">
<name>ТестыПерезагрузить</name>
<id>175</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ТестыПерезагрузитьРасширеннаяПодсказка</name>
<id>176</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>Тесты</value>
</title>
<extendedTooltip>
<name>ФормаСформироватьНастройкиРасширеннаяПодсказка</name>
<id>115</id>
<name>ГруппаТестыРасширеннаяПодсказка</name>
<id>174</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@ -251,12 +285,138 @@
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.СформироватьНастройки</commandName>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<type>Popup</type>
<extInfo xsi:type="form:PopupGroupExtInfo">
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.ЮТСтруктура</picture>
</picture>
<representation>PictureAndText</representation>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>ГруппаПараметры</name>
<id>165</id>
<items xsi:type="form:Button">
<name>НастройкиЗагрузить</name>
<id>167</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>НастройкиЗагрузитьРасширеннаяПодсказка</name>
<id>168</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>169</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>НастройкиРедактироватьРасширеннаяПодсказка</name>
<id>170</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>171</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>НастройкиПерезагрузитьРасширеннаяПодсказка</name>
<id>172</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>Параметры</value>
</title>
<extendedTooltip>
<name>ГруппаПараметрыРасширеннаяПодсказка</name>
<id>166</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>Popup</type>
<extInfo xsi:type="form:PopupGroupExtInfo">
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.ЮТНастройки</picture>
</picture>
<representation>PictureAndText</representation>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
@ -462,154 +622,22 @@
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>ДеревоТестовГруппаПрогресс</name>
<id>102</id>
<items xsi:type="form:FormGroup">
<name>ДеревоТестовГруппаСостояние</name>
<id>87</id>
<items xsi:type="form:FormField">
<name>ДеревоТестовИконка</name>
<id>54</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>56</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>55</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>PictureField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:ImageFieldExtInfo">
<width>5</width>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<verticalStretch>true</verticalStretch>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>ДеревоТестовСостояние</name>
<id>48</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ДеревоТестов.Состояние</segments>
</dataPath>
<extendedTooltip>
<name>ДеревоТестовСостояниеРасширеннаяПодсказка</name>
<id>50</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>49</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>Дерево тестов группа состояние</value>
</title>
<extendedTooltip>
<name>ДеревоТестовГруппаСостояниеРасширеннаяПодсказка</name>
<id>88</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>
<name>ДеревоТестовГруппаСостояние</name>
<id>87</id>
<items xsi:type="form:FormField">
<name>ДеревоТестовПрогресс</name>
<id>99</id>
<name>ДеревоТестовСостояние</name>
<id>48</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ДеревоТестов.Прогресс</segments>
<segments>ДеревоТестов.Состояние</segments>
</dataPath>
<extendedTooltip>
<name>ДеревоТестовПрогрессРасширеннаяПодсказка</name>
<id>101</id>
<name>ДеревоТестовСостояниеРасширеннаяПодсказка</name>
<id>50</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@ -623,8 +651,63 @@
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ДеревоТестовПрогрессКонтекстноеМеню</name>
<id>100</id>
<name>ДеревоТестовСостояниеКонтекстноеМеню</name>
<id>49</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Enter</editMode>
<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>
<font xsi:type="core:FontDef">
<faceName>Arial</faceName>
<height>8.0</height>
<bold>true</bold>
</font>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>ДеревоТестовИконка</name>
<id>54</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>56</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>55</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@ -634,15 +717,13 @@
</contextMenu>
<type>PictureField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:ImageFieldExtInfo">
<width>5</width>
<autoMaxWidth>true</autoMaxWidth>
<height>2</height>
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>true</horizontalStretch>
<pictureSize>Stretch</pictureSize>
<verticalStretch>true</verticalStretch>
</extInfo>
</items>
<visible>true</visible>
@ -652,12 +733,11 @@
</userVisible>
<title>
<key>ru</key>
<value>Дерево тестов группа1</value>
<value>Состояние</value>
</title>
<width>30</width>
<extendedTooltip>
<name>ДеревоТестовГруппаПрогрессРасширеннаяПодсказка</name>
<id>103</id>
<name>ДеревоТестовГруппаСостояниеРасширеннаяПодсказка</name>
<id>88</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@ -672,8 +752,62 @@
</extendedTooltip>
<type>ColumnGroup</type>
<extInfo xsi:type="form:ColumnGroupExtInfo">
<group>Vertical</group>
<group>InCell</group>
<showTitle>true</showTitle>
<showInHeader>true</showInHeader>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>ДеревоТестовПрогресс</name>
<id>99</id>
<title>
<key>ru</key>
<value>Прогресс</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ДеревоТестов.Прогресс</segments>
</dataPath>
<extendedTooltip>
<name>ДеревоТестовПрогрессРасширеннаяПодсказка</name>
<id>101</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>100</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>PictureField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:ImageFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<height>2</height>
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>true</horizontalStretch>
<pictureSize>Stretch</pictureSize>
</extInfo>
</items>
<items xsi:type="form:FormField">
@ -888,7 +1022,7 @@
</userVisible>
<extendedTooltip>
<name>ДеревоТестовКонтекстноеМенюЗапуститьВыделенныеТестыРасширеннаяПодсказка</name>
<id>131</id>
<id>45</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@ -942,24 +1076,126 @@
<items xsi:type="form:FormGroup">
<name>ГруппаДанныеОшибок</name>
<id>83</id>
<items xsi:type="form:FormField">
<name>ФорматВыводаОшибки</name>
<id>26</id>
<items xsi:type="form:FormGroup">
<name>ГруппаПредставлениеТекущегоТеста</name>
<id>155</id>
<items xsi:type="form:FormField">
<name>ИконкаТекущегоТеста</name>
<id>160</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Items.ДеревоТестов.CurrentData.Иконка</segments>
</dataPath>
<titleLocation>None</titleLocation>
<extendedTooltip>
<name>ИконкаТекущегоТестаРасширеннаяПодсказка</name>
<id>162</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>161</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>PictureField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:ImageFieldExtInfo">
<width>2</width>
<maxWidth>2</maxWidth>
<height>1</height>
<maxHeight>1</maxHeight>
<borderColor xsi:type="core:ColorRef">
<color>Style.FormBackColor</color>
</borderColor>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>ПредставлениеТекущегоТеста</name>
<id>152</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Items.ДеревоТестов.CurrentData.Представление</segments>
</dataPath>
<titleLocation>None</titleLocation>
<extendedTooltip>
<name>ПредставлениеТекущегоТестаРасширеннаяПодсказка</name>
<id>154</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>153</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>LabelField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:LabelFieldExtInfo">
<horizontalStretch>true</horizontalStretch>
<font xsi:type="core:FontRef">
<font>Style.NormalTextFont</font>
<bold>true</bold>
<italic>false</italic>
<underline>false</underline>
<strikeout>false</strikeout>
</font>
</extInfo>
</items>
<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>
<title>
<key>ru</key>
<value>Группа1</value>
</title>
<extendedTooltip>
<name>ФорматВыводаОшибкиРасширеннаяПодсказка</name>
<id>24</id>
<name>ГруппаПредставлениеТекущегоТестаРасширеннаяПодсказка</name>
<id>156</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@ -972,24 +1208,13 @@
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ФорматВыводаОшибкиКонтекстноеМеню</name>
<id>25</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>RadioButtonField</type>
<groupHorizontalAlign>Right</groupHorizontalAlign>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:RadioButtonsFieldExtInfo">
<radioButtonsType>Tumbler</radioButtonsType>
<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>
<items xsi:type="form:Table">
@ -1331,8 +1556,58 @@
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>РаботаСОшибкой</name>
<id>110</id>
<name>КомандыОтображенияОшибок</name>
<id>150</id>
<items xsi:type="form:FormField">
<name>ФорматВыводаОшибки</name>
<id>26</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>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>25</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>RadioButtonField</type>
<groupHorizontalAlign>Right</groupHorizontalAlign>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:RadioButtonsFieldExtInfo">
<radioButtonsType>Tumbler</radioButtonsType>
</extInfo>
</items>
<items xsi:type="form:Button">
<name>Сравнить</name>
<id>112</id>
@ -1356,6 +1631,7 @@
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualButton</type>
<commandName>Form.Command.Сравнить</commandName>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
@ -1374,8 +1650,8 @@
</title>
<horizontalStretch>true</horizontalStretch>
<extendedTooltip>
<name>РаботаСОшибкойРасширеннаяПодсказка</name>
<id>111</id>
<name>КомандыОтображенияОшибокРасширеннаяПодсказка</name>
<id>151</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@ -1388,9 +1664,13 @@
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>CommandBar</type>
<extInfo xsi:type="form:CommandBarExtInfo">
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<horizontalAlign>Right</horizontalAlign>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>DontUse</currentRowUse>
</extInfo>
</items>
<visible>true</visible>
@ -1521,8 +1801,11 @@
<event>OnOpen</event>
<name>ПриОткрытии</name>
</handlers>
<handlers>
<event>BeforeClose</event>
<name>ПередЗакрытием</name>
</handlers>
<autoSaveDataInSettings>Use</autoSaveDataInSettings>
<autoTitle>true</autoTitle>
<autoUrl>true</autoUrl>
<group>Vertical</group>
<autoFillCheck>true</autoFillCheck>
@ -1602,7 +1885,7 @@
<key>ru</key>
<value>Время выполнения</value>
</title>
<id>7</id>
<id>46</id>
<valueType>
<types>String</types>
<stringQualifiers/>
@ -1620,7 +1903,7 @@
<key>ru</key>
<value>Иконка</value>
</title>
<id>8</id>
<id>17</id>
<valueType>
<types>Picture</types>
</valueType>
@ -1637,7 +1920,7 @@
<key>ru</key>
<value>Ошибки</value>
</title>
<id>9</id>
<id>47</id>
<valueType>
<types>ValueTable</types>
</valueType>
@ -1768,7 +2051,7 @@
<key>ru</key>
<value>Сообщение</value>
</title>
<id>10</id>
<id>57</id>
<valueType>
<types>String</types>
<stringQualifiers/>
@ -1946,6 +2229,24 @@
</settingsSavedData>
<savedData>true</savedData>
</attributes>
<attributes>
<name>ИмяФайлаПараметров</name>
<title>
<key>ru</key>
<value>Имя файла параметров</value>
</title>
<id>132</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands>
<name>Сравнить</name>
<title>
@ -1968,21 +2269,21 @@
<associatedTableElementId>59</associatedTableElementId>
</formCommands>
<formCommands>
<name>СформироватьНастройки</name>
<name>НастройкиРедактировать</name>
<title>
<key>ru</key>
<value>Сформировать настройки</value>
<value>Редактировать настройки</value>
</title>
<id>2</id>
<use>
<common>true</common>
</use>
<picture xsi:type="core:PictureRef">
<picture>StdPicture.ReportSettings</picture>
<picture>CommonPicture.ЮТРедактировать</picture>
</picture>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>СформироватьНастройки</name>
<name>НастройкиРедактировать</name>
</handler>
</action>
<representation>TextPicture</representation>
@ -2072,6 +2373,75 @@
<representation>TextPicture</representation>
<currentRowUse>DontUse</currentRowUse>
</formCommands>
<formCommands>
<name>НастройкиЗагрузить</name>
<title>
<key>ru</key>
<value>Загрузить настройки</value>
</title>
<id>7</id>
<use>
<common>true</common>
</use>
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.ЮТИмпорт</picture>
</picture>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>НастройкиЗагрузить</name>
</handler>
</action>
<representation>TextPicture</representation>
<currentRowUse>DontUse</currentRowUse>
</formCommands>
<formCommands>
<name>НастройкиПерезагрузить</name>
<title>
<key>ru</key>
<value>Перезагрузить настройки</value>
</title>
<id>8</id>
<use>
<common>true</common>
</use>
<picture xsi:type="core:PictureRef">
<picture>StdPicture.Refresh</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>9</id>
<use>
<common>true</common>
</use>
<picture xsi:type="core:PictureRef">
<picture>StdPicture.Refresh</picture>
</picture>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ТестыПерезагрузить</name>
</handler>
</action>
<currentRowUse>DontUse</currentRowUse>
</formCommands>
<formCommands>
<name>Команда1</name>
<id>10</id>
<use>
<common>true</common>
</use>
<currentRowUse>DontUse</currentRowUse>
</formCommands>
<parameters>
<name>АдресХранилища</name>
<valueType>

View File

@ -18,15 +18,21 @@
#Область ОписаниеПеременных
// Содержит описания исполняемыъх тестовых модулей (наборов и тестов)
&НаКлиенте
Перем ИсполняемыеТестовыеМодули;
// Хранит параметры запуска тестов
&НаКлиенте
Перем ДанныеПоИдентификаторам;
&НаКлиенте
Перем ПараметрыЗапускаТестирования;
// Флаг необходимости отображения вопроса перед закрытием формы
&НаКлиенте
Перем НеЗадаватьВопросПриЗакрытии;
#КонецОбласти
#Область ОбработчикиСобытийФормы
@ -40,11 +46,12 @@
ЗагрузитьТестыПриОткрытии = Истина;
КонецЕсли;
Для Каждого Формат Из ФорматыВыводаОшибки() Цикл
Элементы.ФорматВыводаОшибки.СписокВыбора.Добавить(Формат.Ключ, Формат.Ключ);
КонецЦикла;
ИмяФайлаПараметров = СохраненноеИмяФайлаПараметров();
КонецПроцедуры
&НаКлиенте
@ -53,11 +60,29 @@
Если ЗначениеЗаполнено(АдресОтчета) Тогда
ДанныеОтчета = ДанныеОтчета(АдресОтчета);
ПослеЗагрузкиТестов(ДанныеОтчета.РезультатыТестирования, ДанныеОтчета.ПараметрыЗапуска);
ИмяФайлаПараметров = ЮТПараметрыЗапускаСлужебный.ФайлПараметровЗапускаТестирования();
ИначеЕсли ЗагрузитьТестыПриОткрытии Тогда
ЗагрузитьПараметрыТестирования();
ЗагрузитьТесты();
КонецЕсли;
ПереключитьВыводОшибки();
ОбновитьЗаголовок();
НеЗадаватьВопросПриЗакрытии = Ложь;
КонецПроцедуры
&НаКлиенте
Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка)
Если ЗавершениеРаботы Или НеЗадаватьВопросПриЗакрытии Тогда
Возврат;
КонецЕсли;
Отказ = Истина;
Обработчик = Новый ОписаниеОповещения("ОбработкаПодтвержденияЗакрытия", ЭтотОбъект);
ПоказатьВопрос(Обработчик, "Закрыть окно работы с тестами?", РежимДиалогаВопрос.ДаНет);
КонецПроцедуры
@ -102,13 +127,6 @@
КонецПроцедуры
&НаКлиенте
Процедура СформироватьНастройки(Команда)
ОткрытьФорму("Обработка.ЮТЮнитТесты.Форма.СозданиеНастройки", , ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ЗамерВремениВыполнения(Команда)
@ -117,6 +135,8 @@
КонецПроцедуры
#Область ЗапускТестов
&НаКлиенте
Процедура ЗапуститьВсеТесты(Команда)
@ -145,6 +165,44 @@
#КонецОбласти
#Область Настройки
&НаКлиенте
Процедура НастройкиРедактировать(Команда)
ОткрытьФорму("Обработка.ЮТЮнитТесты.Форма.СозданиеНастройки", , ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура НастройкиЗагрузить(Команда)
Обработчик = Новый ОписаниеОповещения("ОбработчикВыбораФайлаПараметров", ЭтотОбъект);
ЮТПользовательскийИнтерфейсСлужебныйКлиент.ВыбратьЗагружаемыйФайл("*.json", ИмяФайлаПараметров, Обработчик);
КонецПроцедуры
&НаКлиенте
Процедура НастройкиПерезагрузить(Команда)
ЗагрузитьПараметрыТестирования();
Обработчик = Новый ОписаниеОповещения("ОбработчикВопросаПерезагрузитьТесты", ЭтотОбъект);
ПоказатьВопрос(Обработчик, "Перезагрузить тесты?", РежимДиалогаВопрос.ДаНет);
КонецПроцедуры
#КонецОбласти
&НаКлиенте
Процедура ТестыПерезагрузить(Команда)
ЗагрузитьТесты();
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#Область ВыводОтчета
@ -479,9 +537,13 @@
&НаКлиенте
Процедура ЗагрузитьТесты()
ПараметрыЗапуска = ЮТФабрика.ПараметрыЗапуска();
Обработчик = Новый ОписаниеОповещения("ПослеЗагрузкиТестов", ЭтотОбъект, ПараметрыЗапуска);
ЮТИсполнительСлужебныйКлиент.ЗагрузитьИсполняемыеТесты(ПараметрыЗапуска, Обработчик);
Если ПараметрыЗапускаТестирования = Неопределено Тогда
ПараметрыЗапускаТестирования = ЮТФабрика.ПараметрыЗапуска();
КонецЕсли;
Обработчик = Новый ОписаниеОповещения("ПослеЗагрузкиТестов", ЭтотОбъект, ПараметрыЗапускаТестирования);
ЮТИсполнительСлужебныйКлиент.ЗагрузитьИсполняемыеТесты(ПараметрыЗапускаТестирования, Обработчик);
ПоказатьОповещениеПользователя("Дерево тестов", , "Тесты загружены", БиблиотекаКартинок.ЮТСтруктура);
КонецПроцедуры
@ -492,6 +554,7 @@
ПараметрыЗапускаТестирования = ПараметрыЗапуска;
ДанныеПоИдентификаторам = Новый Структура("Тесты, Наборы, Модули", Новый Соответствие, Новый Соответствие, Новый Соответствие);
ДеревоТестов.ПолучитьЭлементы().Очистить();
Для Каждого ТестовыйМодуль Из ИсполняемыеТестовыеМодули Цикл
@ -1033,4 +1096,104 @@
#КонецОбласти
&НаКлиенте
Процедура ОбработкаПодтвержденияЗакрытия(Ответ, ДополнительныеПараметры) Экспорт
Если Ответ = КодВозвратаДиалога.Да Тогда
НеЗадаватьВопросПриЗакрытии = Истина;
Закрыть();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОбработчикВыбораФайлаПараметров(ИмяФайла, ДополнительныеПараметры) Экспорт
ИмяФайлаПараметров = ИмяФайла;
ЗагрузитьПараметрыТестирования();
СохранитьИмяФайлаПараметров(ИмяФайлаПараметров);
Обработчик = Новый ОписаниеОповещения("ОбработчикВопросаПерезагрузитьТесты", ЭтотОбъект);
ПоказатьВопрос(Обработчик, "Перезагрузить тесты?", РежимДиалогаВопрос.ДаНет);
КонецПроцедуры
&НаКлиенте
Процедура ОбработчикВопросаПерезагрузитьТесты(Ответ, ДополнительныеПараметры) Экспорт
Если Ответ = КодВозвратаДиалога.Да Тогда
ЗагрузитьТесты();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьЗаголовок()
ЗаголовокПоУмолчанию = "YAxUnit";
Если ЗначениеЗаполнено(ИмяФайлаПараметров) Тогда
Заголовок = СтрШаблон("%1: %2", ЗаголовокПоУмолчанию, ИмяФайлаПараметров);
Иначе
Заголовок = ЗаголовокПоУмолчанию;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьПараметрыТестирования()
Если ЗначениеЗаполнено(ИмяФайлаПараметров) Тогда
ПараметрыЗапускаТестирования = ЮТПараметрыЗапускаСлужебный.ПараметрыЗапускаИзФайла(ИмяФайлаПараметров, Неопределено);
ПоказатьОповещениеПользователя("Настройки тестирования", , "Настройки загружены", БиблиотекаКартинок.ЮТНастройки);
ОбновитьЗаголовок();
КонецЕсли;
КонецПроцедуры
#Область СохраняемыеПараметры
&НаСервереБезКонтекста
Функция СохраненноеИмяФайлаПараметров()
Возврат ЗначениеИзХранилищаОбщихНастроек(КлючОбъекта(), КлючИмяФайлаПараметров());
КонецФункции
&НаСервереБезКонтекста
Процедура СохранитьИмяФайлаПараметров(Знач ИмяФайла)
ХранилищеОбщихНастроек.Сохранить(КлючОбъекта(), КлючИмяФайлаПараметров(), ИмяФайла);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ЗначениеИзХранилищаОбщихНастроек(Знач КлючОбъекта, Знач КлючНастройки, Знач ОжидаемыйТип = Неопределено)
Значение = ХранилищеОбщихНастроек.Загрузить(КлючОбъекта, КлючНастройки);
Если ОжидаемыйТип <> Неопределено Тогда
Значение = ОжидаемыйТип.ПривестиЗначение(Значение);
КонецЕсли;
Возврат Значение;
КонецФункции
&НаСервереБезКонтекста
Функция КлючИмяФайлаПараметров()
Возврат "ИмяФайлаПараметров";
КонецФункции
&НаСервереБезКонтекста
Функция КлючОбъекта()
Возврат "YAxUnit";
КонецФункции
#КонецОбласти
#КонецОбласти

View File

@ -1258,6 +1258,10 @@
<event>OnOpen</event>
<name>ПриОткрытии</name>
</handlers>
<handlers>
<event>BeforeClose</event>
<name>ПередЗакрытием</name>
</handlers>
<autoSaveDataInSettings>Use</autoSaveDataInSettings>
<autoUrl>true</autoUrl>
<group>Vertical</group>

View File

@ -17,8 +17,15 @@
//©///////////////////////////////////////////////////////////////////////////©//
#Область ОписаниеПеременных
// Список поддерживаемых форматов отчетов
&НаКлиенте
Перем ПоддерживаемыеФорматыОтчетов;
// Флаг необходимости отображения вопроса перед закрытием формы
&НаКлиенте
Перем НеЗадаватьВопросПриЗакрытии;
#КонецОбласти
#Область ОбработчикиСобытийФормы
@ -51,6 +58,21 @@
Элементы.ФорматОтчета.СписокВыбора.Добавить(Формат.Ключ, Формат.Значение.Представление);
КонецЦикла;
НеЗадаватьВопросПриЗакрытии = Ложь;
КонецПроцедуры
&НаКлиенте
Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка)
Если ЗавершениеРаботы Или НеЗадаватьВопросПриЗакрытии Тогда
Возврат;
КонецЕсли;
Отказ = Истина;
Обработчик = Новый ОписаниеОповещения("ОбработкаПодтвержденияЗакрытия", ЭтотОбъект);
ПоказатьВопрос(Обработчик, "Закрыть окно работы с тестами?", РежимДиалогаВопрос.ДаНет);
КонецПроцедуры
#КонецОбласти
@ -60,15 +82,16 @@
&НаКлиенте
Процедура ФайлКонфигурацииНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ВыбратьФайл("*.json|*.json", ФайлКонфигурации, Новый ОписаниеОповещения("УстановитьФайлКонфигурации", ЭтотОбъект));
Обработчик = Новый ОписаниеОповещения("УстановитьФайлКонфигурации", ЭтотОбъект);
ЮТПользовательскийИнтерфейсСлужебныйКлиент.ВыбратьСохраняемыйФайл("*.json|*.json", ФайлКонфигурации, Обработчик);
КонецПроцедуры
&НаКлиенте
Процедура КаталогПроектаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Оповещение = Новый ОписаниеОповещения("СохранитьИмяФайлаВРеквизит", ЭтотОбъект, "КаталогПроекта");
ВыбратьКаталог(КаталогПроекта, Оповещение);
Обработчик = Новый ОписаниеОповещения("СохранитьИмяФайлаВРеквизит", ЭтотОбъект, "КаталогПроекта");
ЮТПользовательскийИнтерфейсСлужебныйКлиент.ВыбратьКаталог(КаталогПроекта, Обработчик);
КонецПроцедуры
@ -89,16 +112,16 @@
&НаКлиенте
Процедура ВыводЛогаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Оповещение = Новый ОписаниеОповещения("СохранитьИмяФайлаВРеквизит", ЭтотОбъект, "ИмяФайлаЛога");
ВыбратьФайл("*.log|*.log|*.txt|*.txt|All files(*.*)|*.*", ИмяФайлаЛога, Оповещение);
Обработчик = Новый ОписаниеОповещения("СохранитьИмяФайлаВРеквизит", ЭтотОбъект, "ИмяФайлаЛога");
ЮТПользовательскийИнтерфейсСлужебныйКлиент.ВыбратьСохраняемыйФайл("*.log|*.log|*.txt|*.txt|All files(*.*)|*.*", ИмяФайлаЛога, Обработчик);
КонецПроцедуры
&НаКлиенте
Процедура ИмяФайлаКодаВозвратаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Оповещение = Новый ОписаниеОповещения("СохранитьИмяФайлаВРеквизит", ЭтотОбъект, "ИмяФайлаКодаВозврата");
ВыбратьФайл("All files(*.*)|*.*", ИмяФайлаКодаВозврата, Оповещение);
Обработчик = Новый ОписаниеОповещения("СохранитьИмяФайлаВРеквизит", ЭтотОбъект, "ИмяФайлаКодаВозврата");
ЮТПользовательскийИнтерфейсСлужебныйКлиент.ВыбратьСохраняемыйФайл("All files(*.*)|*.*", ИмяФайлаКодаВозврата, Обработчик);
КонецПроцедуры
@ -111,11 +134,11 @@
Возврат;
КонецЕсли;
Оповещение = Новый ОписаниеОповещения("СохранитьИмяФайлаВРеквизит", ЭтотОбъект, "ИмяФайлаОтчета");
Обработчик = Новый ОписаниеОповещения("СохранитьИмяФайлаВРеквизит", ЭтотОбъект, "ИмяФайлаОтчета");
Если ОписаниеФормата.ЗаписьВКаталог Тогда
ВыбратьКаталог(ИмяФайлаОтчета, Оповещение);
ЮТПользовательскийИнтерфейсСлужебныйКлиент.ВыбратьКаталог(ИмяФайлаОтчета, Обработчик);
Иначе
ВыбратьФайл(ОписаниеФормата.ФильтрВыбораФайла, ИмяФайлаОтчета, Оповещение);
ЮТПользовательскийИнтерфейсСлужебныйКлиент.ВыбратьСохраняемыйФайл(ОписаниеФормата.ФильтрВыбораФайла, ИмяФайлаОтчета, Обработчик);
КонецЕсли;
КонецПроцедуры
@ -166,7 +189,7 @@
Если ПустаяСтрока(ФайлКонфигурации) Тогда
Обработчик = Новый ОписаниеОповещения("СохранитьПараметрыПослеВыбораФайла", ЭтотОбъект);
ВыбратьФайл("*.json|*.json", ФайлКонфигурации, Обработчик);
ЮТПользовательскийИнтерфейсСлужебныйКлиент.ВыбратьСохраняемыйФайл("*.json|*.json", ФайлКонфигурации, Обработчик);
Иначе
СохранитьПараметрыПослеВыбораФайла(ФайлКонфигурации);
КонецЕсли;
@ -414,42 +437,6 @@
КонецПроцедуры
&НаКлиенте
Процедура ВыбратьФайл(Фильтр, ИмяФайла, Оповещение)
ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
ДиалогВыбораФайла.Фильтр = Фильтр;
ДиалогВыбораФайла.МножественныйВыбор = Ложь;
ДиалогВыбораФайла.ПолноеИмяФайла = ИмяФайла;
ПараметрыОбработчика = Новый Структура("Оповещение", Оповещение);
Обработчик = Новый ОписаниеОповещения("ПослеВыбораФайла", ЭтотОбъект, ПараметрыОбработчика);
ДиалогВыбораФайла.Показать(Обработчик);
КонецПроцедуры
&НаКлиенте
Процедура ВыбратьКаталог(ИмяФайла, Оповещение)
ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога);
ДиалогВыбораФайла.МножественныйВыбор = Ложь;
ДиалогВыбораФайла.ПолноеИмяФайла = ИмяФайла;
ПараметрыОбработчика = Новый Структура("Оповещение", Оповещение);
Обработчик = Новый ОписаниеОповещения("ПослеВыбораФайла", ЭтотОбъект, ПараметрыОбработчика);
ДиалогВыбораФайла.Показать(Обработчик);
КонецПроцедуры
&НаКлиенте
Процедура ПослеВыбораФайла(ВыбранныеФайлы, ДополнительныеПараметры) Экспорт
Если ВыбранныеФайлы <> Неопределено Тогда
ВыполнитьОбработкуОповещения(ДополнительныеПараметры.Оповещение, ВыбранныеФайлы[0]);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СохранитьКонфигурациюЗапуска()
@ -582,4 +569,14 @@
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаПодтвержденияЗакрытия(Ответ, ДополнительныеПараметры) Экспорт
Если Ответ = КодВозвратаДиалога.Да Тогда
НеЗадаватьВопросПриЗакрытии = Истина;
Закрыть();
КонецЕсли;
КонецПроцедуры
#КонецОбласти

View File

@ -41,6 +41,7 @@
<content>CommonModule.ЮТОтчетСлужебныйКлиентСервер</content>
<content>CommonModule.ЮТПодключаемыеМодулиСлужебный</content>
<content>CommonModule.ЮТПодключаемыеМодулиСлужебныйВызовСервера</content>
<content>CommonModule.ЮТПользовательскийИнтерфейсСлужебныйКлиент</content>
<content>CommonModule.ЮТПроверкиСлужебный</content>
<content>CommonModule.ЮТРазрешениеЗависимостейСлужебныйВызовСервера</content>
<content>CommonModule.ЮТРазрешениеЗависимостейСлужебныйКлиент</content>