forked from vanessa-opensource/add
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
5 changed files
with
356 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,126 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4"> | ||
<ExternalDataProcessor uuid="11c5f751-bfaf-480a-92fe-7f30023f2e9a"> | ||
<InternalInfo> | ||
<xr:ContainedObject> | ||
<xr:ClassId>c3831ec8-d8d5-4f93-8a22-f9bfae07327f</xr:ClassId> | ||
<xr:ObjectId>908d0aaf-e4ec-4668-8d14-3e8075d222fd</xr:ObjectId> | ||
</xr:ContainedObject> | ||
<xr:GeneratedType name="ExternalDataProcessorObject.ГенераторОтчетаJSON" category="Object"> | ||
<xr:TypeId>85629dd2-6be4-49c6-9a69-13411102aa57</xr:TypeId> | ||
<xr:ValueId>3fdd55c8-e92e-4f99-8b28-3ba8957b50ab</xr:ValueId> | ||
</xr:GeneratedType> | ||
</InternalInfo> | ||
<Properties> | ||
<Name>ГенераторОтчетаJSON</Name> | ||
<Synonym> | ||
<v8:item> | ||
<v8:lang>ru</v8:lang> | ||
<v8:content>Генератор отчета JSON</v8:content> | ||
</v8:item> | ||
</Synonym> | ||
<Comment/> | ||
<DefaultForm>ExternalDataProcessor.ГенераторОтчетаJSON.Form.Форма</DefaultForm> | ||
<AuxiliaryForm/> | ||
</Properties> | ||
<ChildObjects> | ||
<Attribute uuid="72263b85-e321-40b2-b5dc-368b036f7aaa"> | ||
<Properties> | ||
<Name>ТипыУзловДереваТестов</Name> | ||
<Synonym> | ||
<v8:item> | ||
<v8:lang>ru</v8:lang> | ||
<v8:content>Типы узлов дерева тестов</v8:content> | ||
</v8:item> | ||
</Synonym> | ||
<Comment/> | ||
<Type/> | ||
<PasswordMode>false</PasswordMode> | ||
<Format/> | ||
<EditFormat/> | ||
<ToolTip/> | ||
<MarkNegatives>false</MarkNegatives> | ||
<Mask/> | ||
<MultiLine>false</MultiLine> | ||
<ExtendedEdit>false</ExtendedEdit> | ||
<MinValue xsi:nil="true"/> | ||
<MaxValue xsi:nil="true"/> | ||
<FillChecking>DontCheck</FillChecking> | ||
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems> | ||
<ChoiceParameterLinks/> | ||
<ChoiceParameters/> | ||
<QuickChoice>Auto</QuickChoice> | ||
<CreateOnInput>Auto</CreateOnInput> | ||
<ChoiceForm/> | ||
<LinkByType/> | ||
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput> | ||
</Properties> | ||
</Attribute> | ||
<Attribute uuid="23dd7cb5-a648-4588-817a-d77a4106998e"> | ||
<Properties> | ||
<Name>ИконкиУзловДереваТестов</Name> | ||
<Synonym> | ||
<v8:item> | ||
<v8:lang>ru</v8:lang> | ||
<v8:content>Иконки узлов дерева тестов</v8:content> | ||
</v8:item> | ||
</Synonym> | ||
<Comment/> | ||
<Type/> | ||
<PasswordMode>false</PasswordMode> | ||
<Format/> | ||
<EditFormat/> | ||
<ToolTip/> | ||
<MarkNegatives>false</MarkNegatives> | ||
<Mask/> | ||
<MultiLine>false</MultiLine> | ||
<ExtendedEdit>false</ExtendedEdit> | ||
<MinValue xsi:nil="true"/> | ||
<MaxValue xsi:nil="true"/> | ||
<FillChecking>DontCheck</FillChecking> | ||
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems> | ||
<ChoiceParameterLinks/> | ||
<ChoiceParameters/> | ||
<QuickChoice>Auto</QuickChoice> | ||
<CreateOnInput>Auto</CreateOnInput> | ||
<ChoiceForm/> | ||
<LinkByType/> | ||
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput> | ||
</Properties> | ||
</Attribute> | ||
<Attribute uuid="edb4e982-95f6-4760-818c-4bcd498a85aa"> | ||
<Properties> | ||
<Name>СостоянияТестов</Name> | ||
<Synonym> | ||
<v8:item> | ||
<v8:lang>ru</v8:lang> | ||
<v8:content>Состояния тестов</v8:content> | ||
</v8:item> | ||
</Synonym> | ||
<Comment/> | ||
<Type/> | ||
<PasswordMode>false</PasswordMode> | ||
<Format/> | ||
<EditFormat/> | ||
<ToolTip/> | ||
<MarkNegatives>false</MarkNegatives> | ||
<Mask/> | ||
<MultiLine>false</MultiLine> | ||
<ExtendedEdit>false</ExtendedEdit> | ||
<MinValue xsi:nil="true"/> | ||
<MaxValue xsi:nil="true"/> | ||
<FillChecking>DontCheck</FillChecking> | ||
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems> | ||
<ChoiceParameterLinks/> | ||
<ChoiceParameters/> | ||
<QuickChoice>Auto</QuickChoice> | ||
<CreateOnInput>Auto</CreateOnInput> | ||
<ChoiceForm/> | ||
<LinkByType/> | ||
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput> | ||
</Properties> | ||
</Attribute> | ||
<Form>Форма</Form> | ||
</ChildObjects> | ||
</ExternalDataProcessor> | ||
</MetaDataObject> |
82 changes: 82 additions & 0 deletions
82
plugins/ГенераторОтчетаJSON/ГенераторОтчетаJSON/Ext/ObjectModule.bsl
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
|
||
// { Plugin interface | ||
Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт | ||
Результат = Новый Структура; | ||
Результат.Вставить("Тип", ВозможныеТипыПлагинов.ГенераторОтчета); | ||
Результат.Вставить("Идентификатор", Метаданные().Имя); | ||
Результат.Вставить("Представление", "Отчет о тестировании в формате JSON"); | ||
Результат.Вставить("ПотоковыйВывод", Ложь); // TODO Нужно или нет? | ||
Результат.Вставить("ФормироватьСводныйФайл", Ложь); // TODO Нужно или нет? | ||
|
||
Возврат Новый ФиксированнаяСтруктура(Результат); | ||
КонецФункции | ||
|
||
Процедура Инициализация(КонтекстЯдраПараметр) Экспорт | ||
КонецПроцедуры | ||
// } Plugin interface | ||
|
||
// { Report generator interface | ||
Функция СоздатьОтчет(КонтекстЯдра, РезультатыТестирования) Экспорт | ||
ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); | ||
ЭтотОбъект.ТипыУзловДереваТестов = ПостроительДереваТестов.ТипыУзловДереваТестов; | ||
ЭтотОбъект.СостоянияТестов = КонтекстЯдра.СостоянияТестов; | ||
Отчет = СоздатьОтчетНаСервере(РезультатыТестирования); | ||
|
||
Возврат Отчет; | ||
КонецФункции | ||
|
||
Функция СоздатьОтчетНаСервере(РезультатыТестирования) Экспорт | ||
|
||
ЗаписьJSON = Новый ЗаписьJSON; | ||
ЗаписьJSON.УстановитьСтроку(); | ||
ЗаписатьJSON(ЗаписьJSON, РезультатыТестирования, , "ПреобразоватьВJson", ЭтотОбъект); | ||
|
||
СтрокаJSON = ЗаписьJSON.Закрыть(); | ||
|
||
ЗаписьЖурналаРегистрации("VanessaAdd.ГенераторОтчетаJSON", УровеньЖурналаРегистрации.Предупреждение,,, СтрокаJSON); | ||
|
||
Результат = Новый ТекстовыйДокумент; | ||
Результат.ДобавитьСтроку(СтрокаJSON); | ||
|
||
Возврат Результат; | ||
КонецФункции | ||
|
||
#Если ТолстыйКлиентОбычноеПриложение Тогда | ||
Процедура Показать(Отчет) Экспорт | ||
Отчет.Показать(); | ||
КонецПроцедуры | ||
#КонецЕсли | ||
|
||
Процедура Экспортировать(Отчет, ПолныйПутьФайла) Экспорт | ||
Отчет.Записать(ПолныйПутьФайла); | ||
КонецПроцедуры | ||
|
||
// Процедура ЗаписатьРезультатТестаНаСервере(Знач РезультатТеста, Знач ПолныйПутьФайла) Экспорт | ||
Функция ПолучитьРезультатТестаНаСервере(Знач РезультатТеста) Экспорт | ||
|
||
ЗаписьJSON = Новый ЗаписьJSON; | ||
ЗаписьJSON.УстановитьСтроку(); | ||
ЗаписатьJSON(ЗаписьJSON, РезультатТеста, , "ПреобразоватьВJson", ЭтотОбъект); | ||
|
||
СтрокаJSON = ЗаписьJSON.Закрыть(); | ||
ЗаписьЖурналаРегистрации("VanessaAdd.ГенераторОтчетаJSON", УровеньЖурналаРегистрации.Предупреждение,,, СтрокаJSON); | ||
|
||
Результат = Новый ТекстовыйДокумент; | ||
Результат.ДобавитьСтроку(СтрокаJSON); | ||
|
||
Возврат Результат; | ||
|
||
КонецФункции | ||
// } Report generator interface | ||
|
||
// { Helpers | ||
Функция ПреобразоватьВJson(Свойство, Значение, ДополнительныеПараметры, Отказ) Экспорт | ||
Если ТипЗнч(Значение) = Тип("УникальныйИдентификатор") Тогда | ||
Возврат Строка(Значение); | ||
ИначеЕсли Свойство = "Родитель" Тогда | ||
Отказ = Истина; | ||
Возврат Неопределено; | ||
КонецЕсли; | ||
КонецФункции | ||
|
||
// } Helpers |
22 changes: 22 additions & 0 deletions
22
plugins/ГенераторОтчетаJSON/ГенераторОтчетаJSON/Forms/Форма.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4"> | ||
<Form uuid="4e8e1a4a-a947-419b-95c8-58a411e3ffa4"> | ||
<Properties> | ||
<Name>Форма</Name> | ||
<Synonym> | ||
<v8:item> | ||
<v8:lang>ru</v8:lang> | ||
<v8:content>Форма</v8:content> | ||
</v8:item> | ||
</Synonym> | ||
<Comment/> | ||
<FormType>Managed</FormType> | ||
<IncludeHelpInContents>false</IncludeHelpInContents> | ||
<UsePurposes> | ||
<v8:Value xsi:type="app:ApplicationUsePurpose">PersonalComputer</v8:Value> | ||
<v8:Value xsi:type="app:ApplicationUsePurpose">MobileDevice</v8:Value> | ||
</UsePurposes> | ||
<ExtendedPresentation/> | ||
</Properties> | ||
</Form> | ||
</MetaDataObject> |
13 changes: 13 additions & 0 deletions
13
plugins/ГенераторОтчетаJSON/ГенераторОтчетаJSON/Forms/Форма/Ext/Form.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4"> | ||
<VerticalScroll>useIfNecessary</VerticalScroll> | ||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/> | ||
<Attributes> | ||
<Attribute name="Объект" id="1"> | ||
<Type> | ||
<v8:Type>cfg:ExternalDataProcessorObject.ГенераторОтчетаJSON</v8:Type> | ||
</Type> | ||
<MainAttribute>true</MainAttribute> | ||
</Attribute> | ||
</Attributes> | ||
</Form> |
113 changes: 113 additions & 0 deletions
113
plugins/ГенераторОтчетаJSON/ГенераторОтчетаJSON/Forms/Форма/Ext/Form/Module.bsl
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
&НаКлиенте | ||
Перем КонтекстЯдра; | ||
|
||
// { Plugin interface | ||
|
||
&НаКлиенте | ||
Процедура Инициализация(КонтекстЯдраПараметр) Экспорт | ||
КонтекстЯдра = КонтекстЯдраПараметр; | ||
КонецПроцедуры | ||
|
||
&НаКлиенте | ||
Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт | ||
Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); | ||
КонецФункции | ||
|
||
&НаСервере | ||
Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) | ||
КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); | ||
Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); | ||
КонецФункции | ||
// } Plugin interface | ||
|
||
// { Report generator interface | ||
&НаКлиенте | ||
Функция СоздатьОтчет(КонтекстЯдра, РезультатыТестирования) Экспорт | ||
Объект.ТипыУзловДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов").Объект.ТипыУзловДереваТестов; | ||
Объект.СостоянияТестов = КонтекстЯдра.Объект.СостоянияТестов; | ||
Возврат СоздатьОтчетНаСервере(РезультатыТестирования); | ||
КонецФункции | ||
|
||
&НаСервере | ||
Функция СоздатьОтчетНаСервере(РезультатыТестирования) | ||
Возврат ЭтотОбъектНаСервере().СоздатьОтчетНаСервере(РезультатыТестирования); | ||
КонецФункции | ||
|
||
&НаКлиенте | ||
Процедура Показать(Отчет) Экспорт | ||
Отчет.Показать(); | ||
КонецПроцедуры | ||
|
||
&НаКлиенте | ||
Процедура Экспортировать(Отчет, ПолныйПутьФайла) Экспорт | ||
Отчет.Записать(ПолныйПутьФайла); | ||
КонецПроцедуры | ||
|
||
&НаКлиенте | ||
Процедура ЗаписатьРезультатТеста(Знач КонтекстЯдра, Знач РезультатТеста, Знач ПолныйПутьФайла) Экспорт | ||
Объект.СостоянияТестов = КонтекстЯдра.Объект.СостоянияТестов; | ||
// ЗаписатьРезультатТестаНаСервере(РезультатТеста, ПолныйПутьФайла); | ||
Отчет = ПолучитьРезультатТестаНаСервере(РезультатТеста); | ||
ИмяФайла = ПолучитьУникальноеИмяФайла(ПолныйПутьФайла); | ||
Экспортировать(Отчет, ИмяФайла); | ||
КонецПроцедуры | ||
|
||
&НаСервере | ||
Функция ПолучитьРезультатТестаНаСервере(Знач РезультатТеста) Экспорт | ||
Возврат ЭтотОбъектНаСервере().ПолучитьРезультатТестаНаСервере(РезультатТеста); | ||
КонецФункции | ||
|
||
// } Report generator interface | ||
|
||
&НаКлиенте | ||
Процедура НачатьЭкспорт(ОбработкаОповещения, Отчет, ПолныйПутьФайла) Экспорт | ||
|
||
Если ТребуетсяАсинхроннаяЗаписьДокумента() Тогда | ||
Отчет.НачатьЗапись(ОбработкаОповещения, ПолныйПутьФайла); | ||
Иначе | ||
Отчет.Записать(ПолныйПутьФайла); | ||
ВыполнитьОбработкуОповещения(ОбработкаОповещения); | ||
КонецЕсли; | ||
|
||
КонецПроцедуры | ||
|
||
// До 8.3.9 не контролируется метод Записать, а в 8.3.6 вообще нет метода НачатьЗапись | ||
// | ||
&НаКлиенте | ||
Функция ТребуетсяАсинхроннаяЗаписьДокумента() | ||
|
||
СИ = Новый СистемнаяИнформация; | ||
Версия = Сред(СИ.ВерсияПриложения,3); // сразу уберем 8. | ||
Поз = Найти(Версия, "."); | ||
Минор = Число(Лев(Версия, Поз-1)); | ||
Если Минор > 3 Тогда | ||
Возврат Истина; | ||
КонецЕсли; | ||
|
||
Версия = Сред(Версия, Поз+1); | ||
Релиз = Число(Лев(Версия, Найти(Версия, ".")-1)); | ||
|
||
Если Релиз > 8 Тогда | ||
Возврат Истина; | ||
КонецЕсли; | ||
|
||
Возврат Ложь; | ||
|
||
КонецФункции | ||
|
||
// { Helpers | ||
&НаСервере | ||
Функция ЭтотОбъектНаСервере() | ||
Возврат РеквизитФормыВЗначение("Объект"); | ||
КонецФункции | ||
|
||
&НаКлиенте | ||
Функция ПолучитьУникальноеИмяФайла(Знач ИмяФайла) | ||
Файл = Новый Файл(ИмяФайла); | ||
ГУИД = Новый УникальныйИдентификатор; | ||
ИмяФайла = КонтекстЯдра.СтрШаблон_("%1-result.xml", ГУИД); | ||
ИмяФайла = КонтекстЯдра.СтрШаблон_("%1/%2", Файл.Путь, ИмяФайла); | ||
Возврат ИмяФайла; | ||
КонецФункции | ||
|
||
// } Helpers |