diff --git a/Plugins/JSON.epf b/Plugins/JSON.epf
new file mode 100644
index 00000000..315955bf
Binary files /dev/null and b/Plugins/JSON.epf differ
diff --git "a/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML.epf" "b/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML.epf"
index 103aa3be..b0eeaa62 100644
Binary files "a/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML.epf" and "b/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML.epf" differ
diff --git "a/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL.epf" "b/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL.epf"
index 3516fd98..81a0200a 100644
Binary files "a/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL.epf" and "b/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL.epf" differ
diff --git "a/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260.epf" "b/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260.epf"
index 3f3e2576..1a32d8ff 100644
Binary files "a/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260.epf" and "b/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260.epf" differ
diff --git "a/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260.epf" "b/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260.epf"
index 7a974725..984cbcb0 100644
Binary files "a/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260.epf" and "b/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260.epf" differ
diff --git "a/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224.epf" "b/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224.epf"
index cf76588f..c11794c2 100644
Binary files "a/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224.epf" and "b/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224.epf" differ
diff --git "a/Plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.epf" "b/Plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.epf"
index 1e51b3b2..91d24efb 100644
Binary files "a/Plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.epf" and "b/Plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.epf" differ
diff --git "a/Plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213.epf" "b/Plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213.epf"
index 40e58c98..9dbac85e 100644
Binary files "a/Plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213.epf" and "b/Plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213.epf" differ
diff --git "a/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\321\203\321\201\320\272\320\222\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\274\320\240\320\265\320\266\320\270\320\274\320\265.epf" "b/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\321\203\321\201\320\272\320\222\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\274\320\240\320\265\320\266\320\270\320\274\320\265.epf"
index c8d87b48..da6e16ba 100644
Binary files "a/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\321\203\321\201\320\272\320\222\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\274\320\240\320\265\320\266\320\270\320\274\320\265.epf" and "b/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\321\203\321\201\320\272\320\222\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\274\320\240\320\265\320\266\320\270\320\274\320\265.epf" differ
diff --git "a/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270.epf" "b/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270.epf"
index aa2335d2..ff56cade 100644
Binary files "a/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270.epf" and "b/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270.epf" differ
diff --git "a/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.epf" "b/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.epf"
index 2b556001..b0529f96 100644
Binary files "a/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.epf" and "b/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.epf" differ
diff --git "a/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.json" "b/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.json"
index 21fdca71..c239e803 100644
--- "a/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.json"
+++ "b/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.json"
@@ -1,5 +1,5 @@
{
"Тесты_Настройки": {
- "Ключ": "значение для Тесты_Настройки",
+ "Ключ": "значение для Тесты_Настройки"
}
}
diff --git "a/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270_\320\237\320\276\321\202\320\276\320\274\320\276\320\272.json" "b/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270_\320\237\320\276\321\202\320\276\320\274\320\276\320\272.json"
index 7a228e17..2e3655d1 100644
--- "a/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270_\320\237\320\276\321\202\320\276\320\274\320\276\320\272.json"
+++ "b/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270_\320\237\320\276\321\202\320\276\320\274\320\276\320\272.json"
@@ -1,3 +1,3 @@
{
- "Ключ": "значение для Тесты_Настройки",
+ "Ключ": "значение для Тесты_Настройки"
}
diff --git a/smoke.example.json b/smoke.example.json
index 39d3ac01..4e9ccd45 100644
--- a/smoke.example.json
+++ b/smoke.example.json
@@ -1,20 +1,40 @@
{
"smoke": {
+
+ "СпособГруппировки": "ПоВидуОбъекта",
"ИсключитьФормыЗависящиеОтОтключенныхФункциональныхОпций" : true,
+ "ВыводитьСообщенияВЖурналРегистрации": true,
+
"Справочники": {
"Списки": [
- "ПростойСправочник"
+ "ПростойСправочник.Форма.ФормаВыбора"
],
+
"Новые": [
"ПростойСправочник2"
- ]
+ ],
+
+ "Подчиненные": {
+ "ПодчиненныйСДвумяВладельцами": "ПростойСправочник2"
+ },
+
+ "ЗначенияРеквизитовНовых" : {
+ "СправочникСОбязательнымРеквизитом": {
+ "ОбязательныйРеквизит": "Привет, Мир!"
+ }
+ }
},
+
+ "Документы": false,
+
"Отчеты": [
"Отчет1"
],
+
"Обработки": [
"xddGuidShow",
- "ТестОбработка_Форма_ИсключениеПриОткрытии"
+ "ТестОбработка_Форма_ИсключениеПриОткрытии",
+ "СериализаторMXL.Форма.УправляемаяФорма"
]
}
}
\ No newline at end of file
diff --git "a/src/Plugins/JSON/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" "b/src/Plugins/JSON/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl"
new file mode 100644
index 00000000..b92a1156
--- /dev/null
+++ "b/src/Plugins/JSON/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl"
@@ -0,0 +1,82 @@
+
+// { Plugin interface
+&НаКлиенте
+Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт
+ Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов);
+КонецФункции
+
+&НаСервере
+Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов)
+ Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов);
+КонецФункции
+// } Plugin interface
+
+// { Helpers
+&НаСервере
+Функция ЭтотОбъектНаСервере()
+ Возврат РеквизитФормыВЗначение("Объект");
+КонецФункции
+// } Helpers
+
+// ─────────────────────────────────────────────────────────────────────────────
+// { JSON API
+
+// JSON парсер.
+//
+// Параметры:
+// Значение - Строка. Строка данных в формате JSON для парсинга;
+//
+// Стандарт - Неопределено, Булево. Режим работы:
+// - Истина - стандартный режим (значение по умолчанию);
+// - Ложь - альтернативный режим;
+// - Неопределено - автоопределение режима;
+//
+// ПредставленияСсылок - Неопределено, Булево. Режим передачи ссылочных типов, с их представлением или без:
+// - Истина - ссылки передаются вместе со своим представлением, как объекты с двумя свойствами содержащими саму ссылку и ее представление;
+// - Ложь - ссылки передаются без представления (значение по умолчанию).
+// - Неопределено - автоопределение режима.
+//
+// Возвращаемое значение:
+// Набор данных согласно содержимому входящих данных.
+//
+&НаКлиенте
+Функция ПрочитатьJSON(Значение, Стандарт = Истина, ПредставленияСсылок = Ложь) Экспорт
+ Возврат ПрочитатьJSONнаСервере(Значение, Стандарт, ПредставленияСсылок);
+КонецФункции
+
+&НаСервере
+Функция ПрочитатьJSONнаСервере(Значение, Стандарт = Истина, ПредставленияСсылок = Ложь)
+
+ Возврат ЭтотОбъектНаСервере().ПрочитатьJSON(Значение, Стандарт, ПредставленияСсылок);
+
+КонецФункции // ПрочитатьJSON()
+
+// JSON сериализатор.
+//
+// Параметры:
+// Значение. Набор данных сериализуемых в формат JSON;
+//
+// Стандарт - Булево. Режим работы:
+// - Истина - стандартный режим (значение по умолчанию);
+// - Ложь - альтернативный режим;
+//
+// ПредставленияСсылок - Булево. Режим передачи ссылочных типов, с их представлением или без:
+// - Истина - ссылки передаются вместе со своим представлением, как объекты с двумя свойствами содержащими саму ссылку и ее представление;
+// - Ложь - ссылки передаются без представления (значение по умолчанию).
+//
+// Возвращаемое значение:
+// Строка. Строка данных в формате JSON согласно содержимому входящих данных.
+//
+&НаКлиенте
+Функция ЗаписатьJSON(Значение, Стандарт = Истина, ПредставленияСсылок = Ложь) Экспорт
+ Возврат ЗаписатьJSONнаСервере(Значение, Стандарт, ПредставленияСсылок);
+КонецФункции
+
+&НаСервере
+Функция ЗаписатьJSONнаСервере(Значение, Стандарт = Истина, ПредставленияСсылок = Ложь)
+
+ Возврат ЭтотОбъектНаСервере().ЗаписатьJSON(Значение, Стандарт, ПредставленияСсылок);
+
+КонецФункции // ЗаписатьJSON()
+
+// } JSON API
\ No newline at end of file
diff --git a/src/Plugins/JSON/ObjectModule.bsl b/src/Plugins/JSON/ObjectModule.bsl
new file mode 100644
index 00000000..48bac127
--- /dev/null
+++ b/src/Plugins/JSON/ObjectModule.bsl
@@ -0,0 +1,1616 @@
+ Перем мНастройка_АвтоматическоеПриведениеОбъектаКСтруктуре;
+
+// { Plugin interface
+Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт
+ Результат = Новый Структура;
+ Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита);
+ Результат.Вставить("Идентификатор", Метаданные().Имя);
+ Результат.Вставить("Представление", "1C:JSON");
+ Возврат Новый ФиксированнаяСтруктура(Результат);
+КонецФункции
+
+Процедура Инициализация(КонтекстЯдраПараметр) Экспорт
+КонецПроцедуры
+// } Plugin interface
+
+// ─────────────────────────────────────────────────────────────────────────────
+
+// 1С:JSON. JavaScript Object Notation парсер и сериализатор.
+
+// Copyright © 2010-2013 Александр Переверзев
+
+// Данная лицензия разрешает лицам, получившим копию данного программного
+// обеспечения и сопутствующей документации (в дальнейшем именуемыми «Программное
+// Обеспечение»), безвозмездно использовать Программное Обеспечение без ограничений,
+// включая неограниченное право на использование, копирование, изменение,
+// добавление, публикацию, распространение, сублицензирование и/или продажу копий
+// Программного Обеспечения, также как и лицам, которым предоставляется данное
+// Программное Обеспечение, при соблюдении следующих условий:
+
+// Указанное выше уведомление об авторском праве и данные условия должны быть
+// включены во все копии или значимые части данного Программного Обеспечения.
+
+// ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО
+// ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ
+// ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И
+// ОТСУТСТВИЯ НАРУШЕНИЙ ПРАВ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ
+// ОТВЕТСТВЕННОСТИ ПО ИСКАМ О ВОЗМЕЩЕНИИ УЩЕРБА, УБЫТКОВ ИЛИ ДРУГИХ ТРЕБОВАНИЙ ПО
+// ДЕЙСТВУЮЩИМ КОНТРАКТАМ, ДЕЛИКТАМ ИЛИ ИНОМУ, ВОЗНИКШИМ ИЗ, ИМЕЮЩИМ ПРИЧИНОЙ ИЛИ
+// СВЯЗАННЫМ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
+// ИЛИ ИНЫМИ ДЕЙСТВИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.
+
+
+// Александр Переверзев
+// e-mail: a.v.pereverzev@gmail.com
+// Версия: 2.0.0.17
+
+
+// Особенности:
+// Парсер и сериализатор поддерживают два режима (формата) работы:
+// - Стандартный – полная поддержка стандарта JSON (подробнее см. и
+// );
+// - Альтернативный – направлен на применение в проектах подразумевающих постоянный двусторонний
+// обмен данными, по каналам связи Интернет, и требующих повышенную скорость обработки данных,
+// минимизацию пересылаемых пакетов данных и однозначную идентификацию ссылочных типов во входящих данных.
+//
+// Независимо от режима работы сериализатор, по требованию (см. Настройки), позволяет автоматически передавать
+// не только уникальный идентификатор ссылки, но и ее представление, а парсер в свою очередь,
+// анализируя входные данные, опускает представления ссылок, не включая их в результирующий набор данных.
+//
+// При работе с проектами, в исходящих строковых данных которых не гарантируется отсутствие символов из диапазонов:
+// [0x007f, 0x009f], 0x00ad, [0x0600, 0x0604], 0x070f, [0x17b4, 0x17b5],
+// [0x200c, 0x200f], [0x2028, 0x202f] [0x2060, 0x206f], 0xfeff, [0xfff0, 0xffff],
+// рекомендуется не отключать настройку (см. Настройки) полного маскирования символов
+// (подробнее см. и ).
+//
+// Независимо от режима работы сериализатор, по требованию (см. Настройки), может маскировать кириллические символы
+// современных алфавитов славянских языков "АБВГҐДЂЃЕЀЁЄЖЗЅИЍІЇЙЈКЛЉМНЊОПРСТЋЌУЎФХЦЧЏШЩЪЫЬЭЮЯ" (включая нижний регистр)
+// (подробнее см. и ).
+//
+// Поддерживаются все среды исполнения с ограничением сериализуемых типов. Используется кроссплатформенный код.
+
+
+
+// История изменения:
+// Версия 2.0.0.17:
+// - (Новое) Маскирование кириллических символов современных алфавитов славянских языков (по требованию);
+// - (Новое) Поддержка сериализатором типов: ДвоичныеДанные, Картинка, ХранилищеЗначения;
+// - (Изменение) Рефакторинг переменных и процедур;
+// - (Исправление) Сериализация типа COMSafeArray;
+// - (Исправление) Удалены лишние ключевые слова "Экспорт".
+// - (Оптимизация) Уменьшение проверок связанных с режимом и параметрами парсинга и сериализцаии;
+// - (Оптимизация) Проверка необходимости анализа форматирования вынесена из процедуры анализа форматирования;
+// - (Оптимизация) Изменен алгоритм автоматического приведение объекта к структуре или соответствию в зависимости от имен свойств;
+// - (Оптимизация) Отказ от явного приведения типов в пользу неявного в операторах условий;
+// - (Оптимизация) Отказ от оператора "Попытка Исключение" при преобразовании строки к уникальному идентификатору;
+// - (Оптимизация) Изменен порядок проверки типов при парсинге.
+// Версия 2.0.0.15
+// - Релиз.
+
+
+
+// Методы:
+// ПрочитатьJSON – парсер;
+// ЗаписатьJSON – сериализатор.
+
+// Настройки и параметры:
+//
+// Параметры функций:
+// Стандарт – определяет режим работы парсера и сериализатора:
+// - Истина – стандартный режим (значение по умолчанию);
+// - Ложь – альтернативный режим;
+// - Неопределено – автоматическое определение режима входящих данных
+// (только парсер, не рекомендуется – влияет на производительность).
+//
+// ПредставленияСсылок – позволяет автоматически передавать не только значение ссылки, но и ее представление:
+// - Истина - ссылка парсится и сериализуется как объект с двумя свойствами "Ссылка" и "Представление";
+// - Ложь - ссылка парсится и сериализуется как уникальный идентификатор ссылки (значение по умолчанию);
+// - Неопределено – автоматическое определение формата ссылок во входящих данных
+// (только парсер, не рекомендуется – влияет на производительность).
+//
+// Настройки:
+// АвтоматическоеПриведениеОбъектаКСтруктуре – автоматическое приведение объекта к структуре, а не к соответствию.
+// Настройка изменяется в функции "АвтоматическоеПриведениеОбъектаКСтруктуре" (по умолчанию отключена).
+// Автоматическое приведение к структуре выполняется только для объектов имена свойств, которых могут быть
+// использованы как ключи структуры, все остальные объекты преобразуются в соответствие.
+//
+// ПолноеМаскированиеСимволов – маскирование символов некорректно обрабатываемых JavaScript-ом.
+// Настройка изменяется в функции "НастройкаПолноеМаскированиеСимволов" (по умолчанию включена).
+// Не рекомендуется к использованию, так как влияет на производительность, но гарантирует безопасную передачу данных.
+// Маскирование специальных символов из диапазона [0x0000, 0x001f] выполняется в не зависимости от настройки.
+//
+// МаскированиеКириллицы – маскирование кириллических символов современных алфавитов славянских языков.
+// Настройка изменяется в функции "НастройкаМаскированиеКириллицы" (по умолчанию отключена).
+// Не рекомендуется к использованию, так как влияет на производительность.
+// Маскирование специальных символов из диапазона [0x0000, 0x001f] выполняется в не зависимости от настройки.
+//
+// НеявноеПриведениеПримитивныхЗначенийКлюча – неявное приведение примитивных значений ключей соответствий к строке.
+// Настройка изменяется в функции "НеявноеПриведениеПримитивныхЗначенийКлюча" (по умолчанию отключена).
+
+
+// Альтернативный режим:
+// - Не поддерживается форматирование, как во входящих, так и в исходящих данных;
+// - Сериализация ссылочных типов в строковое служебное представление.
+
+
+// Приятности:
+// Парсер:
+// - Устойчивость к некорректным данным и не подверженность injection атакам;
+// - Продвинутый синтаксический анализатор (указывает место и тип ошибки в данных);
+// - Поддержка форматирования во входящих данных (только стандартный режим);
+// - Безопасный разбор форматирования - незамаскированные символы форматирования в строковых значениях не будут утеряны;
+// - Поддержка строк в одинарных и в двойных кавычках;
+// - Автоматическое приведение объекта к структуре или соответствию в зависимости от имен свойств¹;
+// - Автоматическое преобразование к типу Дата строки вида "9999-99-99T99:99:99Z";
+// - Автоматическое преобразование к типу УникальныйИдентификатор строки вида "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
+// - Автоматического определение режима (стандартного или альтернативного) входящих данных;
+// - Автоматического определение необходимости отсечения представления ссылок;
+// - Однозначная идентификация ссылок (только альтернативный режим).
+// Сериализатор:
+// - Поддержка форматирования исходящих данных (только стандартный режим);
+// - Широкий состав сериализуемых типов данных, в том числе ссылок;
+// - Автоматическое приведение значений ключей соответствий к строковому представлению в формате 1С²;
+// - Автоматическое преобразование неподдерживаемых типов к строке;
+// - Маскирование кириллических символов современных алфавитов славянских языков;
+// - Нечувствительность к локализации³.
+// ----
+// ¹ Если все имена свойства входящего объекта могут быть использованы как ключи структуры,
+// то такой объект будет автоматически приведен к структуре, а не к соответствию. Управляется настройкой.
+// ² Управляется настройкой.
+// ³ При сериализации некоторых типов, исходящие объекты которых имеют обязательные свойства,
+// такие представления и имена таких свойств всегда имеют русскую локализацию.
+
+
+// Неприятности:
+// - Нестандартно форматированный код (Alt+Shift+F в помощь) на гране читаемости;
+// - Сериализатор ориентирован, на средние-крупные пакеты данных.
+
+// Сериализуемые типы:
+// Сервер, толстый клиент, тонкий клиент, веб-клиент:
+// - Неопределено;
+// - Null;
+// - Примитивные типы (все);
+// - Универсальные коллекции значений (клиентские);
+// - УникальныйИдентификатор;
+// - ДвоичныеДанные;
+// - Картинка.
+// Сервер, толстый клиент:
+// - Универсальные коллекции значений (серверные);
+// - ЛюбаяСсылка;
+// - Запрос;
+// - РезультатЗапроса;
+// - ВыборкаИзРезультатаЗапроса;
+// - ПостроительЗапроса;
+// - ПостроительОтчета;
+// - ХранилищеЗначения.
+// Сервер:
+// - ДанныеФормыКоллекция;
+// - ДанныеФормыСтруктураСКоллекцией;
+// - ДанныеФормыДерево.
+
+// Порядок сериализации типов:
+// - Неопределено - сериализуется как Null;
+// - Null - согласно стандарту;
+// - Примитивные типы - согласно стандарту;
+// - Массивы и COMSafeArray - массив, согласно стандарту:
+// [ Значение, ... ]
+//
+// - Структуры и соответствия – объект, согласно стандарту;
+// { Ключ:Значение, ... }
+//
+// - СписокЗначений - массив объектов с тремя свойствами "Значение", "Представление" и "Пометка";
+// [ { "Значение":Значение, "Представление":Представление, "Пометка":Пометка }, ... ]
+//
+// - КлючИЗначение - объект с двумя свойствами "Ключ" и "Значени";
+// { "Ключ":Ключ, "Значение":Значение }
+//
+// - ТаблицаЗначений - массив объектов:
+// [ { Колонка:Значение, ... }, ... ]
+//
+// - ДеревоЗначений - массив объектов с обязательным свойством "Строки":
+// [ { Колонка:Значение, ... , "Строки":[ { Колонка:Значение, ... , "Строки":[ ... ] } , ... ] }, ... ]
+//
+// - УникальныйИдентификатор - приведение к строке вида "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
+//
+// - ЛюбаяСсылка:
+// - Стандартный режим - получение уникального идентификатора ссылки (в том числе и для перечислений) и его сериализация;
+// - Альтернативный режим - приведение к строке служебного вида "¦ref¦ ... ¦";
+//
+// При сериализации ссылок в режиме автоматически передачи не только сериализованного значения ссылки,
+// но и ее представления. Каждая ссылка передается как объект с двумя свойствами "Ссылка" и "Представление";
+// { "Ссылка":Ссылка, "Представление":Представление }
+//
+// - Запрос - автоматически выполняется и сериализуется как таблица значений;
+// - РезультатЗапроса - сериализуется как таблица значений;
+// - ВыборкаИзРезультатаЗапроса - сериализуется как структура значений текущей запись результата запроса;
+// - ПостроительЗапроса - автоматически выполняется и сериализуется как таблица значений;
+// - ПостроительОтчета - автоматически выполняется и сериализуется как таблица значений;
+// - ДанныеФормыКоллекция - сериализуется как таблица значений;
+// - ДанныеФормыСтруктураСКоллекцией - сериализуется как таблица значений;
+// - ДанныеФормыДерево - сериализуется как дерево значений;
+// - ДвоичныеДанные - кодируется по алгоритму base64¹ и сериализуется как строка;
+// - Картинка - автоматически преобразуется и сериализуется как двоичные данные;
+// - ХранилищеЗначения - автоматически извлекается сохраненное значение и сериализуется в зависимости от типа извлеченного значения.
+// ----
+// ¹ Следуя рекомендациям стандарта, сериализатор при кодировании по алгоритму base64, не добавляет переводы строк
+// в результирующие данные (подробнее см. ).
+
+// Производительность:
+// Производительность парсера исключительно зависит от набора входящих данных, а также от наличия форматирования.
+// Наихудшим вариантом является форматированный массив чисел, наилучшим - неформатированный массив строк.
+//
+// Intel Core 2 Duo T5870 @ 2GHz - форматированный массив со всеми приблизительно равномерно встречающимися типами данных:
+// Парсер: 35 Кбайт/с.
+// Сериализатор: 165 Кбайт/с.
+
+// Примечание:
+// Мало комментариев - без комментариев.
+
+// Всем удачного программирования :)
+
+
+// ─────────────────────────────────────────────────────────────────────────────
+// JSON
+
+// JSON парсер.
+//
+// Параметры:
+// Значение - Строка. Строка данных в формате JSON для парсинга;
+//
+// Стандарт - Неопределено, Булево. Режим работы:
+// - Истина - стандартный режим (значение по умолчанию);
+// - Ложь - альтернативный режим;
+// - Неопределено - автоопределение режима;
+//
+// ПредставленияСсылок - Неопределено, Булево. Режим передачи ссылочных типов, с их представлением или без:
+// - Истина - ссылки передаются вместе со своим представлением, как объекты с двумя свойствами содержащими саму ссылку и ее представление;
+// - Ложь - ссылки передаются без представления (значение по умолчанию).
+// - Неопределено - автоопределение режима.
+//
+// Возвращаемое значение:
+// Набор данных согласно содержимому входящих данных.
+//
+Функция Прочитать(Значение, Стандарт = Истина, ПредставленияСсылок = Ложь) Экспорт
+
+ Возврат jsonПрочитатьИнициализация(Значение, Стандарт, ПредставленияСсылок);
+
+КонецФункции // ПрочитатьJSON()
+
+// JSON сериализатор.
+//
+// Параметры:
+// Значение. Набор данных сериализуемых в формат JSON;
+//
+// Стандарт - Булево. Режим работы:
+// - Истина - стандартный режим (значение по умолчанию);
+// - Ложь - альтернативный режим;
+//
+// ПредставленияСсылок - Булево. Режим передачи ссылочных типов, с их представлением или без:
+// - Истина - ссылки передаются вместе со своим представлением, как объекты с двумя свойствами содержащими саму ссылку и ее представление;
+// - Ложь - ссылки передаются без представления (значение по умолчанию).
+//
+// Возвращаемое значение:
+// Строка. Строка данных в формате JSON согласно содержимому входящих данных.
+//
+Функция Записать(Значение, Стандарт = Истина, ПредставленияСсылок = Ложь) Экспорт
+
+ Возврат jsonЗаписатьИнициализация(Значение, Стандарт, ПредставленияСсылок);
+
+КонецФункции // ЗаписатьJSON()
+
+
+// ─────────────────────────────────────────────────────────────────────────────
+// НАСТРОЙКИ
+
+// Функция управляющая настройкой "АвтоматическоеПриведениеОбъектаКСтруктуре".
+//
+// Возвращаемое значение:
+// Булево. Значение настройки:
+// - Истина - выполняется автоматическое приведение объекта к структуре;
+// - Ложь - автоматическое приведение объекта к структуре не выполняется, все объекты преобразуются в соответствие.
+//
+// Примечание:
+// Автоматическое приведение к структуре выполняется только для объектов имена свойств которых могут быть
+// использованы как ключи структуры, все остальные объекты преобразуются в соответствие.
+//
+Функция НастройкаАвтоматическоеПриведениеОбъектаКСтруктуре(Значение = Неопределено) Экспорт
+
+ Если мНастройка_АвтоматическоеПриведениеОбъектаКСтруктуре = Неопределено Тогда
+ мНастройка_АвтоматическоеПриведениеОбъектаКСтруктуре = Ложь;
+ КонецЕсли;
+
+ Если ТипЗнч(Значение) = Тип("Булево") Тогда
+ мНастройка_АвтоматическоеПриведениеОбъектаКСтруктуре = Значение;
+ КонецЕсли;
+
+ Возврат мНастройка_АвтоматическоеПриведениеОбъектаКСтруктуре;
+
+КонецФункции // НастройкаАвтоматическоеПриведениеОбъектаКСтруктуре()
+
+// Функция управляющая настройкой "ПолноеМаскированиеСимволов".
+//
+// Возвращаемое значение:
+// Булево. Значение настройки:
+// - Истина - выполняется полное маскирование символов некорректно обрабатываемых JavaScript-ом;
+// - Ложь - маскирование выполняется только согласно стандарту и дополнительно маскируются специальные символы.
+//
+// Примечание:
+// Маскирование специальных символов из диапазона [0x0000, 0x001f] выполняется в не зависимости от настройки.
+//
+Функция НастройкаПолноеМаскированиеСимволов()
+
+ Возврат Истина; // Измените для неполного маскирования символов.
+
+КонецФункции // НастройкаПолноеМаскированиеСимволов()
+
+// Функция управляющая настройкой "МаскированиеКириллицы".
+//
+// Возвращаемое значение:
+// Булево. Значение настройки:
+// - Истина - выполняется маскирование кириллических символов;
+// - Ложь - маскирование выполняется только согласно стандарту и дополнительно маскируются специальные символы.
+//
+// Примечание:
+// Маскирование специальных символов из диапазона [0x0000, 0x001f] выполняется в не зависимости от настройки.
+//
+Функция НастройкаМаскированиеКириллицы()
+
+ Возврат Ложь; // Измените для маскирования кириллических символов.
+
+КонецФункции // НастройкаМаскированиеКириллицы()
+
+// Функция управляющая настройкой "НеявноеПриведениеПримитивныхЗначенийКлюча".
+//
+// Возвращаемое значение:
+// Булево. Значение настройки:
+// - Истина - выполняется неявное приведение примитивных типов значений ключей соответствий к их строковому представлению в формате 1С;
+// - Ложь - неявное приведение примитивных типов значений ключей соответствий к строковому представлению не выполняется.
+//
+// Примечание:
+// Неявно приводимые типы: Null, Булево, Число, Дата, Строка, УникальныйИдентификатор.
+//
+Функция НастройкаНеявноеПриведениеПримитивныхЗначенийКлюча()
+
+ Возврат Ложь; // Измените для использования неявного приведения примитивных значений ключей соответствий к строке.
+
+КонецФункции // НастройкаНеявноеПриведениеПримитивныхЗначенийКлюча()
+
+
+// ─────────────────────────────────────────────────────────────────────────────
+// ПАРСЕР
+
+Функция jsonПрочитатьИнициализация(Значение, Знач Стандарт, Знач ПредставленияСсылок)
+
+ // Проверка параметров.
+ Если (Не Стандарт = Истина) И (Не Стандарт = Ложь) И (Не Стандарт = Неопределено) Тогда ВызватьИсключение ИсключениеНекорректныйПараметр("Стандарт"); КонецЕсли;
+ Если (Не ПредставленияСсылок = Истина) И (Не ПредставленияСсылок = Ложь) И (Не ПредставленияСсылок = Неопределено) Тогда ВызватьИсключение ИсключениеНекорректныйПараметр("ПредставленияСсылок"); КонецЕсли;
+
+ // Использование более общего случая параметров.
+ Альтернативный = (Стандарт = Неопределено) Или (Не Стандарт); Стандарт = (Стандарт = Неопределено) Или Стандарт; ПредставленияСсылок = (ПредставленияСсылок = Неопределено) Или ПредставленияСсылок;
+
+ // Схема подстановок шестнадцатиричной системы.
+ СхемаПодстановок = Новый Соответствие; ШестнадцатиричнаяСистема = "0123456789abcdef"; ДесятичноеЧисло = 0;
+ Для ВторойРазряд = 1 По 16 Цикл Для ПервыйРазряд = 1 По 16 Цикл СхемаПодстановок.Вставить(Сред(ШестнадцатиричнаяСистема, ВторойРазряд, 1) + Сред(ШестнадцатиричнаяСистема, ПервыйРазряд, 1), ДесятичноеЧисло); ДесятичноеЧисло = ДесятичноеЧисло + 1; КонецЦикла; КонецЦикла;
+
+ // Вспомогательные данные.
+ ВспомогательныеДанные = Новый Структура("ТипСтроки,СхемаПодстановок,АвтоматическиПриводитьКСтруктуре",
+ Тип("Строка"),
+ СхемаПодстановок,
+ (НастройкаАвтоматическоеПриведениеОбъектаКСтруктуре() = Истина));
+
+ // Стартовые значения.
+ Индекс = 1; Длина = СтрДлина(Значение);
+
+ // Форматирование (первый шаг парсера).
+ Если Стандарт Тогда СимволыФорматирования = " " + Символы.ВК + Символы.ПС + Символы.Таб; jsonПрочитатьПропуститьФорматирование(Значение, Стандарт, Индекс, Длина, СимволыФорматирования); КонецЕсли;
+ Если (Индекс > Длина) Тогда ВызватьИсключение ИсключениеПустойПакетДанных(); КонецЕсли;
+
+ // Парсер.
+ Возврат jsonПрочитать(Значение, Стандарт, Альтернативный, ПредставленияСсылок, Индекс, Длина, ВспомогательныеДанные, СимволыФорматирования, Истина);
+
+КонецФункции // jsonПрочитатьИнициализация()
+
+Функция jsonПрочитать(Значение, Стандарт, Альтернативный, ПредставленияСсылок, Индекс, Длина, ВспомогательныеДанные, СимволыФорматирования, ПервыйУровень)
+
+ Символ = Сред(Значение, Индекс, 1);
+ Если (Символ = """") Или (Символ = "'") Тогда // " , '
+
+ // Строка.
+ Подстрока = Сред(Значение, Индекс + 1); Начало = Индекс; Пока Истина Цикл
+ Позиция = Найти(Подстрока, Символ);
+
+ Если (Позиция > 0) Тогда
+ Индекс = Индекс + Позиция; Откат = Позиция - 1; Маскировка = Ложь; Пока (Сред(Подстрока, Откат, 1) = "\") И Откат Цикл Маскировка = Не Маскировка; Откат = Откат - 1; КонецЦикла;
+ Если Маскировка Тогда Подстрока = Сред(Подстрока, Позиция + 1); Иначе Прервать; КонецЕсли;
+ Иначе
+ ВызватьИсключение ИсключениеНеожиданноеОкончаниеПакетаДанных();
+ КонецЕсли;
+
+ КонецЦикла;
+
+ // Строка.
+ Результат = jsonПрочитатьСтроку(Сред(Значение, Начало + 1, Индекс - Начало - 1), Стандарт, Начало, ВспомогательныеДанные.СхемаПодстановок, (Символ = "'"));
+
+ Если jsonПрочитатьОпределитьДату(Результат) Тогда
+ // Дата.
+ Результат = jsonПрочитатьДату(Результат, Начало);
+ ИначеЕсли jsonПрочитатьОпределитьИдентификатор(Результат) Тогда
+ // Идентификатор.
+ Результат = jsonПрочитатьИдентификатор(Результат, Начало);
+ Иначе
+ Если Альтернативный И jsonПрочитатьОпределитьВнутреннийТип(Результат) Тогда
+ // Внутренний тип.
+ Результат = jsonПрочитатьВнутреннийТип(Результат, Начало);
+ КонецЕсли;
+ КонецЕсли;
+
+ // Корректировка индекса.
+ Индекс = Индекс + 1;
+
+ ИначеЕсли (Символ = "[") Тогда // [
+
+ // Массив.
+ Результат = Новый Массив;
+
+ Индекс = Индекс + 1; Если Стандарт Тогда jsonПрочитатьПропуститьФорматирование(Значение, Стандарт, Индекс, Длина, СимволыФорматирования); КонецЕсли; Если (Индекс > Длина) Тогда ВызватьИсключение ИсключениеНеожиданноеОкончаниеМассива(Длина); КонецЕсли;
+ Символ = Сред(Значение, Индекс, 1); Если (Символ = "]") Тогда // ]
+
+ // Пустой массив.
+ Индекс = Индекс + 1;
+
+ Иначе
+
+ Пока (Индекс <= Длина) Цикл
+
+ // Значение.
+ Результат.Добавить(jsonПрочитать(Значение, Стандарт, Альтернативный, ПредставленияСсылок, Индекс, Длина, ВспомогательныеДанные, СимволыФорматирования, Ложь));
+
+ Символ = Сред(Значение, Индекс, 1);
+ Если (Символ = "]") Тогда // ]
+ // Окончание массива.
+ Индекс = Индекс + 1; Прервать;
+ Иначе
+ // Продолжение массива.
+ Если (Символ = ",") Тогда // ,
+ Индекс = Индекс + 1; Если Стандарт Тогда jsonПрочитатьПропуститьФорматирование(Значение, Стандарт, Индекс, Длина, СимволыФорматирования); КонецЕсли; Если (Индекс >= Длина) Тогда ВызватьИсключение ИсключениеНеожиданноеОкончаниеМассива(Длина); КонецЕсли;
+ Иначе
+ ВызватьИсключение ИсключениеНедопустимыйСимвол(Индекс, ",");
+ КонецЕсли;
+ КонецЕсли;
+
+ КонецЦикла;
+
+ КонецЕсли;
+
+ ИначеЕсли (Символ = "{") Тогда // {
+
+ // Объект.
+ Индекс = Индекс + 1; Если Стандарт Тогда jsonПрочитатьПропуститьФорматирование(Значение, Стандарт, Индекс, Длина, СимволыФорматирования); КонецЕсли; Если (Индекс > Длина) Тогда ВызватьИсключение ИсключениеНеожиданноеОкончаниеМассива(Длина); КонецЕсли;
+ Символ = Сред(Значение, Индекс, 1); Если (Символ = "}") Тогда // }
+
+ // Пустой объект.
+ Индекс = Индекс + 1;
+
+ // Структура или соответствие.
+ Если ВспомогательныеДанные.АвтоматическиПриводитьКСтруктуре Тогда Результат = Новый Структура; Иначе Результат = Новый Соответствие; КонецЕсли;
+
+ Иначе
+
+ Результат = Новый Соответствие;
+
+ ТипСтроки = ВспомогательныеДанные.ТипСтроки; Пока (Индекс <= Длина) Цикл
+
+ // Ключ.
+ Начало = Индекс; КлючЭлемента = jsonПрочитать(Значение, Стандарт, Альтернативный, ПредставленияСсылок, Индекс, Длина, ВспомогательныеДанные, СимволыФорматирования, Ложь); Если (Не ТипЗнч(КлючЭлемента) = ТипСтроки) Тогда ВызватьИсключение ИсключениеНедопустимыйТипКлюча(Начало, КлючЭлемента); КонецЕсли;
+
+ Символ = Сред(Значение, Индекс, 1);
+ Если (Символ = ":") Тогда // :
+ Индекс = Индекс + 1; Если Стандарт Тогда jsonПрочитатьПропуститьФорматирование(Значение, Стандарт, Индекс, Длина, СимволыФорматирования); КонецЕсли; Если (Индекс >= Длина) Тогда ВызватьИсключение ИсключениеНеожиданноеОкончаниеОбъетка(Длина); КонецЕсли;
+ Иначе
+ ВызватьИсключение ИсключениеНедопустимыйСимвол(Индекс, ":");
+ КонецЕсли;
+
+ // Значение.
+ ЗначениеЭлемента = jsonПрочитать(Значение, Стандарт, Альтернативный, ПредставленияСсылок, Индекс, Длина, ВспомогательныеДанные, СимволыФорматирования, Ложь);
+
+ // Коллекция.
+ Результат.Вставить(КлючЭлемента, ЗначениеЭлемента);
+
+ Символ = Сред(Значение, Индекс, 1);
+ Если (Символ = "}") Тогда // }
+ // Окончание объекта.
+ Индекс = Индекс + 1; Прервать;
+ Иначе
+ // Продолжение объекта.
+ Если (Символ = ",") Тогда // ,
+ Индекс = Индекс + 1; Если Стандарт Тогда jsonПрочитатьПропуститьФорматирование(Значение, Стандарт, Индекс, Длина, СимволыФорматирования); КонецЕсли; Если (Индекс >= Длина) Тогда ВызватьИсключение ИсключениеНеожиданноеОкончаниеОбъетка(Длина); КонецЕсли;
+ Иначе
+ ВызватьИсключение ИсключениеНедопустимыйСимвол(Индекс, ",");
+ КонецЕсли;
+ КонецЕсли;
+
+ КонецЦикла;
+
+ // Структура или соответствие.
+ Если ВспомогательныеДанные.АвтоматическиПриводитьКСтруктуре Тогда
+
+ РезультатСтруктура = Новый Структура;
+ Для Каждого Элемент Из Результат Цикл Попытка РезультатСтруктура.Вставить(Элемент.Ключ, Элемент.Значение); Исключение РезультатСтруктура = Результат; АвтоматическоеПриведениеНеВыполнено = Истина; Прервать; КонецПопытки; КонецЦикла;
+ Результат = РезультатСтруктура;
+
+ // Ссылка.
+ Если ПредставленияСсылок Тогда Результат = jsonПрочитатьСсылку(Результат, (АвтоматическоеПриведениеНеВыполнено = Истина)); КонецЕсли;
+
+ Иначе
+
+ // Ссылка.
+ Если ПредставленияСсылок Тогда Результат = jsonПрочитатьСсылку(Результат, Истина); КонецЕсли;
+
+ КонецЕсли;
+
+ КонецЕсли;
+
+ Иначе
+
+ // Остальные примитивные типы.
+ Если (Символ = "n") Тогда
+
+ // Null.
+ Если (Сред(Значение, Индекс, 4) = "null") Тогда Индекс = Индекс + 4; Результат = Null; Иначе ВызватьИсключение ИсключениеНекорректныйТипNull(Индекс); КонецЕсли;
+
+ ИначеЕсли (Символ = "t") Тогда
+
+ // Истина.
+ Если (Сред(Значение, Индекс, 4) = "true") Тогда Индекс = Индекс + 4; Результат = Истина; Иначе ВызватьИсключение ИсключениеНекорректныйТипБулево(Индекс); КонецЕсли;
+
+ ИначеЕсли (Символ = "f") Тогда
+
+ // Ложь.
+ Если (Сред(Значение, Индекс, 5) = "false") Тогда Индекс = Индекс + 5; Результат = Ложь; Иначе ВызватьИсключение ИсключениеНекорректныйТипБулево(Индекс); КонецЕсли;
+
+ ИначеЕсли (Символ = "u") Тогда
+
+ // Неопределено.
+ Если (Сред(Значение, Индекс, 9) = "undefined") Тогда Индекс = Индекс + 9; Результат = Неопределено; Иначе ВызватьИсключение ИсключениеНекорректныйТипНеопределено(Индекс); КонецЕсли;
+
+ Иначе
+
+ // Число.
+ Начало = Индекс; Пока Найти("-+0123456789.", Символ) И (Индекс <= Длина) Цикл Индекс = Индекс + 1; Символ = Сред(Значение, Индекс, 1); КонецЦикла;
+
+ // Преобразование числа.
+ Попытка
+ Результат = Число(Сред(Значение, Начало, Индекс - Начало));
+ Исключение
+ ВызватьИсключение ИсключениеНекорректныйФорматЧисла(Начало, Сред(Значение, Начало, Индекс - Начало));
+ КонецПопытки;
+
+ // Экспоненциальная часть.
+ Если (Символ = "E") Или (Символ = "e") Тогда
+
+ // Степень.
+ Индекс = Индекс + 1; Позиция = Индекс; Символ = Сред(Значение, Индекс, 1); Пока Найти("-+0123456789", Символ) И (Индекс <= Длина) Цикл Индекс = Индекс + 1; Символ = Сред(Значение, Индекс, 1); КонецЦикла;
+
+ // Преобразование степени.
+ Попытка
+ Степень = Число(Сред(Значение, Позиция, Индекс - Позиция));
+ Исключение
+ ВызватьИсключение ИсключениеНекорректныйФорматЧисла(Начало, Сред(Значение, Начало, Индекс - Начало));
+ КонецПопытки;
+
+ // Возвидение числа в степень.
+ Результат = Результат * Pow(10, Степень);
+
+ КонецЕсли;
+
+ КонецЕсли;
+
+ КонецЕсли;
+
+ // Форматирование.
+ Если Стандарт Тогда jsonПрочитатьПропуститьФорматирование(Значение, Стандарт, Индекс, Длина, СимволыФорматирования); КонецЕсли; Если ПервыйУровень Тогда Если (Индекс <= Длина) Тогда ВызватьИсключение ИсключениеНекорректныйПакетДанных(Индекс); КонецЕсли; Иначе Если (Индекс > Длина) Тогда ВызватьИсключение ИсключениеНеожиданноеОкончаниеПакетаДанных(); КонецЕсли; КонецЕсли;
+
+ Возврат Результат;
+
+КонецФункции // jsonПрочитать()
+
+Функция jsonПрочитатьОпределитьДату(Значение)
+
+ // Проверка.
+ Если (СтрДлина(Значение) = 20) Тогда
+ Если (Сред(Значение, 05, 1) = "-") И // -
+ (Сред(Значение, 08, 1) = "-") И // -
+ (Сред(Значение, 11, 1) = "T") И // T
+ (Сред(Значение, 14, 1) = ":") И // :
+ (Сред(Значение, 17, 1) = ":") И // :
+ (Сред(Значение, 20, 1) = "Z") Тогда // Z
+ // Год.
+ Если Найти("0123456789", Сред(Значение, 01, 1)) И
+ Найти("0123456789", Сред(Значение, 02, 1)) И
+ Найти("0123456789", Сред(Значение, 03, 1)) И
+ Найти("0123456789", Сред(Значение, 04, 1)) И
+ // Месяц.
+ Найти("0123456789", Сред(Значение, 06, 1)) И
+ Найти("0123456789", Сред(Значение, 07, 1)) И
+ // День.
+ Найти("0123456789", Сред(Значение, 09, 1)) И
+ Найти("0123456789", Сред(Значение, 10, 1)) И
+ // Час.
+ Найти("0123456789", Сред(Значение, 12, 1)) И
+ Найти("0123456789", Сред(Значение, 13, 1)) И
+ // Минута.
+ Найти("0123456789", Сред(Значение, 15, 1)) И
+ Найти("0123456789", Сред(Значение, 16, 1)) И
+ // Секунда.
+ Найти("0123456789", Сред(Значение, 18, 1)) И
+ Найти("0123456789", Сред(Значение, 19, 1)) Тогда
+ Возврат Истина;
+ КонецЕсли;
+ КонецЕсли;
+ КонецЕсли;
+
+ Возврат Ложь;
+
+КонецФункции // jsonПрочитатьОпределитьДату()
+
+Функция jsonПрочитатьОпределитьИдентификатор(Значение)
+
+ // Проверка.
+ Если (СтрДлина(Значение) = 36) Тогда
+ Если (Сред(Значение, 09, 1) = "-") И // -
+ (Сред(Значение, 14, 1) = "-") И // -
+ (Сред(Значение, 19, 1) = "-") И // -
+ (Сред(Значение, 24, 1) = "-") Тогда // -
+ // Первая часть.
+ Для Индекс = 01 По 08 Цикл Если Не Найти("0123456789ABCDEFabcdef", Сред(Значение, Индекс, 1)) Тогда Возврат Ложь; КонецЕсли; КонецЦикла;
+ // Вторая часть.
+ Для Индекс = 10 По 13 Цикл Если Не Найти("0123456789ABCDEFabcdef", Сред(Значение, Индекс, 1)) Тогда Возврат Ложь; КонецЕсли; КонецЦикла;
+ // Третья часть.
+ Для Индекс = 15 По 18 Цикл Если Не Найти("0123456789ABCDEFabcdef", Сред(Значение, Индекс, 1)) Тогда Возврат Ложь; КонецЕсли; КонецЦикла;
+ // Четвертая часть.
+ Для Индекс = 20 По 23 Цикл Если Не Найти("0123456789ABCDEFabcdef", Сред(Значение, Индекс, 1)) Тогда Возврат Ложь; КонецЕсли; КонецЦикла;
+ // Пятая часть.
+ Для Индекс = 25 По 36 Цикл Если Не Найти("0123456789ABCDEFabcdef", Сред(Значение, Индекс, 1)) Тогда Возврат Ложь; КонецЕсли; КонецЦикла;
+ Возврат Истина;
+ КонецЕсли;
+ КонецЕсли;
+
+ Возврат Ложь;
+
+КонецФункции // jsonПрочитатьОпределитьИдентификатор()
+
+Функция jsonПрочитатьОпределитьВнутреннийТип(Значение)
+
+ // Поиск.
+ Возврат (Лев(Значение, 1) = "¦") И (Сред(Значение, 5, 1) = "¦") И (Прав(Значение, 1) = "¦"); // ¦xxx¦ ... ¦
+
+КонецФункции // jsonПрочитатьОпределитьВнутреннийТип()
+
+Функция jsonПрочитатьСтроку(Значение, Стандарт, Индекс, СхемаПодстановок, ОдинарнаяКавычка)
+
+ // Последоавтельность перемаскировки.
+ ПоследоавтельностьПеремаскировки = "\" + Символ(65535);
+
+ // Демаскирование служебных символов.
+ Результат = СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(Значение,
+ "\\", ПоследоавтельностьПеремаскировки), // Перемаскирование последовательности.
+ "\/", "/"), // x2f
+ "\b", Символ(008)), // x08
+ "\t", Символы.Таб), // x09
+ "\n", Символы.ПС), // x0a
+ "\f", Символы.ПФ), // x0c
+ "\r", Символы.ВК), // x0d
+ "\""", """"); // x22
+
+ // Демаскирование Юникод символов.
+ Позиция = Найти(Результат, "\u"); Пока Позиция Цикл
+ СтаршийБайт = СхемаПодстановок[НРег(Сред(Результат, Позиция + 2, 2))]; МладшийБайт = СхемаПодстановок[НРег(Сред(Результат, Позиция + 4, 2))]; Если (СтаршийБайт = Неопределено) Или (МладшийБайт = Неопределено) Тогда ВызватьИсключение ИсключениеНекорректныйФорматСтроки(Индекс); КонецЕсли;
+ Результат = СтрЗаменить(Результат, Сред(Результат, Позиция, 6), Символ(256 * СтаршийБайт + МладшийБайт)); Позиция = Найти(Результат, "\u");
+ КонецЦикла;
+
+ // Одинарная кавычка.
+ Если ОдинарнаяКавычка Тогда Результат = СтрЗаменить(Результат, "\'", "'"); КонецЕсли;
+
+ // Демаскирование перемаскированой последовательности.
+ Возврат СтрЗаменить(Результат, ПоследоавтельностьПеремаскировки, "\");
+
+КонецФункции // jsonПрочитатьСтроку()
+
+Функция jsonПрочитатьДату(Значение, Индекс)
+
+ // Поиск.
+ Попытка
+ Возврат Дата(Лев(Значение, 4) + Сред(Значение, 06, 2) + Сред(Значение, 09, 2) +
+ Сред(Значение, 12, 2) + Сред(Значение, 15, 2) + Сред(Значение, 18, 2));
+ Исключение
+ ВызватьИсключение ИсключениеНекорректныйФорматДаты(Индекс, Значение);
+ КонецПопытки;
+
+КонецФункции // jsonПрочитатьДату()
+
+Функция jsonПрочитатьСсылку(Значение, Соответствие)
+
+ Перем Ссылка;
+
+ // Ссылка.
+ Если (Значение.Количество() = 2) Тогда
+ Если Соответствие Тогда
+ Ссылка = Значение.Получить("Ссылка"); Если (Не Ссылка = Неопределено) И (Не Значение.Получить("Представление") = Неопределено) Тогда Возврат Ссылка; КонецЕсли;
+ Иначе
+ Если Значение.Свойство("Представление") И Значение.Свойство("Ссылка", Ссылка) Тогда Возврат Ссылка; КонецЕсли;
+ КонецЕсли;
+ КонецЕсли;
+
+ Возврат Значение;
+
+КонецФункции // jsonПрочитатьСсылку()
+
+Функция jsonПрочитатьИдентификатор(Значение, Индекс)
+
+ // Поиск.
+ Возврат Новый УникальныйИдентификатор(Значение);
+
+КонецФункции // jsonПрочитатьИдентификатор()
+
+Функция jsonПрочитатьВнутреннийТип(Значение, Индекс)
+#Если ВебКлиент Или ТонкийКлиент Тогда
+ ВызватьИсключение ИсключениеНевозможноПреобразоватьЗначениеНаКлиенте(Индекс, Значение);
+#Иначе
+
+ // Поиск.
+ Тип = Сред(Значение, 2, 3); Данные = Сред(Значение, 6, СтрДлина(Значение) - 6);
+
+ Если (Тип = "ref") Тогда
+ Попытка
+ Возврат ЗначениеИзСтрокиВнутр("{""#""," + СтрЗаменить(СтрЗаменить(Данные, "×", ":"), "÷", ",") + "}");
+ Исключение
+ ВызватьИсключение ИсключениеНевозможноПреобразоватьЗначение(Индекс, Значение);
+ КонецПопытки;
+ КонецЕсли;
+
+ ВызватьИсключение ИсключениеНеопознанныйТип(Индекс, Тип);
+
+#КонецЕсли
+КонецФункции // jsonПрочитатьВнутреннийТип()
+
+Процедура jsonПрочитатьПропуститьФорматирование(Значение, Стандарт, Индекс, Длина, СимволыФорматирования)
+
+ // Пропуск форматирования.
+ Пока (Индекс <= Длина) И Найти(СимволыФорматирования, Сред(Значение, Индекс, 1)) Цикл Индекс = Индекс + 1; КонецЦикла;
+ // Пробел его не видно, \r, \n, \t .
+
+КонецПроцедуры // jsonПрочитатьПропуститьФорматирование()
+
+
+// ─────────────────────────────────────────────────────────────────────────────
+// СЕРИАЛИЗАТОР
+
+Функция jsonЗаписатьИнициализация(Значение, Знач Стандарт, Знач ПредставленияСсылок)
+
+ // Проверка параметров.
+ Если (Не Стандарт = Истина) И (Не Стандарт = Ложь) Тогда ВызватьИсключение ИсключениеНекорректныйПараметр("Стандарт"); КонецЕсли;
+ Если (Не ПредставленияСсылок = Истина) И (Не ПредставленияСсылок = Ложь) Тогда ВызватьИсключение ИсключениеНекорректныйПараметр("ПредставленияСсылок"); КонецЕсли;
+
+ ВспомогательныеДанные = Новый Структура("ПримитивныеТипы,Массивы,Структуры,Соответсвия,Построители,КлиентскиеТипы,ТипДопустимыхКлючей",
+ Новый ОписаниеТипов("Null,Булево,Число,Дата,УникальныйИдентификатор"), // ПримитивныеТипы.
+ #Если ВебКлиент Или ТонкийКлиент Тогда
+ Новый ОписаниеТипов("Массив,ФиксированныйМассив"), // Массивы.
+ Новый ОписаниеТипов("Структура,ФиксированнаяСтруктура"), // Структуры.
+ Новый ОписаниеТипов("Структура,ФиксированнаяСтруктура,Соответствие,ФиксированноеСоответствие"), // Соответсвия.
+ #Иначе
+ #Если НаСервере Тогда
+ Новый ОписаниеТипов("Массив,ФиксированныйМассив,ФиксированнаяКоллекция"), // Массивы.
+ Новый ОписаниеТипов("Структура,ФиксированнаяСтруктура"), // Структуры.
+ Новый ОписаниеТипов("Структура,ФиксированнаяСтруктура,Соответствие,ФиксированноеСоответствие"), // Соответсвия.
+ #Иначе
+ Новый ОписаниеТипов("Массив,ФиксированныйМассив"), // Массивы.
+ Новый ОписаниеТипов("Структура"), // Структуры.
+ Новый ОписаниеТипов("Структура,Соответствие"), // Соответсвия.
+ #КонецЕсли
+ #КонецЕсли
+ #Если ВебКлиент Или ТонкийКлиент Тогда
+ Неопределено, // Построители.
+ #Иначе
+ Новый ОписаниеТипов("ПостроительЗапроса,ПостроительОтчета"), // Построители.
+ #КонецЕсли
+ #Если НаСервере Тогда
+ Новый ОписаниеТипов("ДанныеФормыКоллекция,ДанныеФормыСтруктураСКоллекцией,ДанныеФормыДерево"), // КлиентскиеТипы.
+ #Иначе
+ Неопределено, // КлиентскиеТипы.
+ #КонецЕсли
+ Новый ОписаниеТипов("Строка")); // ТипДопустимыхКлючей.
+
+ // Типы допустимых ключей.
+ Если (НастройкаНеявноеПриведениеПримитивныхЗначенийКлюча() = Истина) Тогда ВспомогательныеДанные.ТипДопустимыхКлючей = Новый ОписаниеТипов("Null,Булево,Число,Дата,Строка,УникальныйИдентификатор"); КонецЕсли;
+
+ // форматирование.
+ Если Стандарт Тогда Смещение = ""; Отступ = " "; Табуляция = " "; ПереносСтроки = Символы.ПС; Иначе Смещение = ""; Отступ = ""; Табуляция = ""; ПереносСтроки = ""; КонецЕсли;
+
+ // Сериализация.
+ Возврат jsonЗаписать(Значение, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, Смещение, Отступ, Табуляция, ПереносСтроки, (НастройкаПолноеМаскированиеСимволов() = Истина), (НастройкаМаскированиеКириллицы() = Истина));
+
+КонецФункции // jsonЗаписатьИнициализация()
+
+Функция jsonЗаписать(Значение, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Колонки, Смещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы)
+
+ // Определение типа.
+ Тип = ТипЗнч(Значение);
+
+ // Строка.
+ Если (Тип = Тип("Строка")) Тогда Возврат jsonЗаписатьСтроку(Значение, ПолноеМаскированиеСимволов, МаскированиеКириллицы); КонецЕсли;
+
+ // Неопределено и примитивные типы.
+ Если ВспомогательныеДанные.ПримитивныеТипы.СодержитТип(Тип) Тогда
+ #Если ВебКлиент Или ТонкийКлиент Тогда
+ Если (Значение = Null) Или (Значение = Неопределено) Тогда Возврат "null"; ИначеЕсли (Тип = Тип("Дата")) Тогда Возврат """" + Формат(Значение, "ДФ=yyyy-MM-ddTHH:mm:ss; ДП=") + "Z""" ИначеЕсли (Тип = Тип("УникальныйИдентификатор")) Тогда Возврат """" + Значение + """"; Иначе Возврат Формат(Значение, "ЧРД=.; ЧН=; ЧГ=; БЛ=false; БИ=true"); КонецЕсли;
+ #Иначе
+ Если (Значение = Null) Или (Значение = Неопределено) Тогда Возврат "null"; ИначеЕсли (Тип = Тип("Дата")) Тогда Возврат """" + XMLСтрока(Значение) + "Z""" ИначеЕсли (Тип = Тип("УникальныйИдентификатор")) Тогда Возврат """" + XMLСтрока(Значение) + """"; Иначе Возврат XMLСтрока(Значение); КонецЕсли;
+ #КонецЕсли
+ КонецЕсли;
+
+ // Структуры и строка дерева значений (структурой).
+ Если ВспомогательныеДанные.Структуры.СодержитТип(Тип) Тогда
+ Если Значение.Количество() Тогда
+
+ // форматирование.
+ СледующееСмещение = Смещение + Табуляция;
+
+ Если (Колонки = Неопределено) Тогда
+
+ // Структуры.
+ Если МаскированиеКириллицы Тогда
+
+ Первый = Истина; Для Каждого Элемент Из Значение Цикл
+ Если Первый Тогда
+ Результат = ПереносСтроки + СледующееСмещение + jsonЗаписатьСтроку(Элемент.Ключ, ПолноеМаскированиеСимволов, МаскированиеКириллицы) + ":" + Отступ + jsonЗаписать(Элемент.Значение, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, СледующееСмещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы); Первый = Ложь;
+ Иначе
+ Результат = Результат + "," + ПереносСтроки + СледующееСмещение + jsonЗаписатьСтроку(Элемент.Ключ, ПолноеМаскированиеСимволов, МаскированиеКириллицы) + ":" + Отступ + jsonЗаписать(Элемент.Значение, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, СледующееСмещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы);
+ КонецЕсли;
+ КонецЦикла;
+
+ Иначе
+
+ Первый = Истина; Для Каждого Элемент Из Значение Цикл
+ Если Первый Тогда
+ Результат = ПереносСтроки + СледующееСмещение + """" + Элемент.Ключ + """:" + Отступ + jsonЗаписать(Элемент.Значение, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, СледующееСмещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы); Первый = Ложь;
+ Иначе
+ Результат = Результат + "," + ПереносСтроки + СледующееСмещение + """" + Элемент.Ключ + """:" + Отступ + jsonЗаписать(Элемент.Значение, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, СледующееСмещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы);
+ КонецЕсли;
+ КонецЦикла;
+
+ КонецЕсли;
+
+ Иначе
+
+ // Строка дерева значений (структурой).
+ Если МаскированиеКириллицы Тогда
+
+ Первый = Истина; Для Каждого Элемент Из Значение Цикл
+ Если (Элемент.Ключ = "Строки") Тогда Продолжить; КонецЕсли;
+ Если Первый Тогда
+ Результат = ПереносСтроки + СледующееСмещение + jsonЗаписатьСтроку(Элемент.Ключ, ПолноеМаскированиеСимволов, МаскированиеКириллицы) + ":" + Отступ + jsonЗаписать(Элемент.Значение, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, СледующееСмещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы); Первый = Ложь;
+ Иначе
+ Результат = Результат + "," + ПереносСтроки + СледующееСмещение + jsonЗаписатьСтроку(Элемент.Ключ, ПолноеМаскированиеСимволов, МаскированиеКириллицы) + ":" + Отступ + jsonЗаписать(Элемент.Значение, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, СледующееСмещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы);
+ КонецЕсли;
+ КонецЦикла;
+ Если Первый Тогда
+ Результат = ПереносСтроки + СледующееСмещение + """\u0421\u0442\u0440\u043e\u043a\u0438"":" + Отступ + jsonЗаписать(Значение.Строки, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Колонки, СледующееСмещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы);
+ Иначе
+ Результат = Результат + "," + ПереносСтроки + СледующееСмещение + """\u0421\u0442\u0440\u043e\u043a\u0438"":" + Отступ + jsonЗаписать(Значение.Строки, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Колонки, СледующееСмещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы);
+ КонецЕсли;
+
+ Иначе
+
+ Первый = Истина; Для Каждого Элемент Из Значение Цикл
+ Если (Элемент.Ключ = "Строки") Тогда Продолжить; КонецЕсли;
+ Если Первый Тогда
+ Результат = ПереносСтроки + СледующееСмещение + """" + Элемент.Ключ + """:" + Отступ + jsonЗаписать(Элемент.Значение, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, СледующееСмещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы); Первый = Ложь;
+ Иначе
+ Результат = Результат + "," + ПереносСтроки + СледующееСмещение + """" + Элемент.Ключ + """:" + Отступ + jsonЗаписать(Элемент.Значение, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, СледующееСмещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы);
+ КонецЕсли;
+ КонецЦикла;
+ Если Первый Тогда
+ Результат = ПереносСтроки + СледующееСмещение + """Строки"":" + Отступ + jsonЗаписать(Значение.Строки, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Колонки, СледующееСмещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы);
+ Иначе
+ Результат = Результат + "," + ПереносСтроки + СледующееСмещение + """Строки"":" + Отступ + jsonЗаписать(Значение.Строки, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Колонки, СледующееСмещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы);
+ КонецЕсли;
+
+ КонецЕсли;
+
+ КонецЕсли;
+ Возврат "{" + Результат + ПереносСтроки + Смещение + "}";
+
+ Иначе
+
+ // Пустая структура.
+ Возврат "{}";
+
+ КонецЕсли;
+ КонецЕсли;
+
+ // Соответсвия.
+ Если ВспомогательныеДанные.Соответсвия.СодержитТип(Тип) Тогда
+ Если Значение.Количество() Тогда
+
+ // форматирование.
+ СледующееСмещение = Смещение + Табуляция;
+
+ // Соответсвия.
+ ТипДопустимыхКлючей = ВспомогательныеДанные.ТипДопустимыхКлючей;
+
+ Если МаскированиеКириллицы Тогда
+
+ Первый = Истина; Для Каждого Элемент Из Значение Цикл
+ Ключ = Элемент.Ключ; Если ТипДопустимыхКлючей.СодержитТип(ТипЗнч(Ключ)) Тогда Ключ = jsonЗаписатьСтроку(Строка(Ключ), ПолноеМаскированиеСимволов, МаскированиеКириллицы); Иначе ВызватьИсключение ИсключениеНедопустимыйТипКлюча(Неопределено, Ключ); КонецЕсли;
+ Если Первый Тогда
+ Результат = ПереносСтроки + СледующееСмещение + Ключ + ":" + Отступ + jsonЗаписать(Элемент.Значение, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, СледующееСмещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы); Первый = Ложь;
+ Иначе
+ Результат = Результат + "," + ПереносСтроки + СледующееСмещение + Ключ + ":" + Отступ + jsonЗаписать(Элемент.Значение, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, СледующееСмещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы);
+ КонецЕсли;
+ КонецЦикла;
+
+ Иначе
+
+ Первый = Истина; Для Каждого Элемент Из Значение Цикл
+ Ключ = Элемент.Ключ; Тип = ТипЗнч(Ключ); Если (Тип = Тип("Строка")) Тогда Ключ = jsonЗаписатьСтроку(Ключ, ПолноеМаскированиеСимволов, МаскированиеКириллицы); ИначеЕсли ТипДопустимыхКлючей.СодержитТип(Тип) Тогда Ключ = """" + Ключ + """"; Иначе ВызватьИсключение ИсключениеНедопустимыйТипКлюча(Неопределено, Ключ); КонецЕсли;
+ Если Первый Тогда
+ Результат = ПереносСтроки + СледующееСмещение + Ключ + ":" + Отступ + jsonЗаписать(Элемент.Значение, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, СледующееСмещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы); Первый = Ложь;
+ Иначе
+ Результат = Результат + "," + ПереносСтроки + СледующееСмещение + Ключ + ":" + Отступ + jsonЗаписать(Элемент.Значение, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, СледующееСмещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы);
+ КонецЕсли;
+ КонецЦикла;
+
+ КонецЕсли;
+ Возврат "{" + Результат + ПереносСтроки + Смещение + "}";
+
+ Иначе
+
+ // Пустое соответсвие.
+ Возврат "{}";
+
+ КонецЕсли;
+ КонецЕсли;
+
+ // Массивы.
+ Если ВспомогательныеДанные.Массивы.СодержитТип(Тип) Тогда
+ Если Значение.Количество() Тогда
+
+ // форматирование.
+ СледующееСмещение = Смещение + Табуляция;
+
+ Первый = Истина; Для Каждого Элемент Из Значение Цикл
+ Если Первый Тогда
+ Результат = ПереносСтроки + СледующееСмещение + jsonЗаписать(Элемент, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, СледующееСмещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы); Первый = Ложь;
+ Иначе
+ Результат = Результат + "," + ПереносСтроки + СледующееСмещение + jsonЗаписать(Элемент, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, СледующееСмещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы);
+ КонецЕсли;
+ КонецЦикла;
+
+ Возврат "[" + Результат + ПереносСтроки + Смещение + "]";
+
+ Иначе
+
+ // Пустой массив.
+ Возврат "[]";
+
+ КонецЕсли;
+ КонецЕсли;
+
+ // Список значений.
+ Если (Тип = Тип("СписокЗначений")) Тогда
+ Если Значение.Количество() Тогда
+
+ // форматирование.
+ СледующееСмещение = Смещение + Табуляция;
+
+ Структура = Новый Структура("Значение,Представление,Пометка");
+ Первый = Истина; Для Каждого Элемент Из Значение Цикл
+ ЗаполнитьЗначенияСвойств(Структура, Элемент);
+ Если Первый Тогда
+ Результат = ПереносСтроки + СледующееСмещение + jsonЗаписать(Структура, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, СледующееСмещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы); Первый = Ложь;
+ Иначе
+ Результат = Результат + "," + ПереносСтроки + СледующееСмещение + jsonЗаписать(Структура, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, СледующееСмещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы);
+ КонецЕсли;
+ КонецЦикла;
+
+ Возврат "[" + Результат + ПереносСтроки + Смещение + "]";
+
+ Иначе
+
+ // Пустой список значений.
+ Возврат "[]";
+
+ КонецЕсли;
+ КонецЕсли;
+
+ // Таблица значений.
+ #Если ВебКлиент Или ТонкийКлиент Тогда
+ #Иначе
+ Если (Тип = Тип("ТаблицаЗначений")) Тогда
+ Если Значение.Количество() Тогда
+
+ // форматирование.
+ СледующееСмещение = Смещение + Табуляция;
+
+ Структура = Новый Структура; НаборКолонок = Значение.Колонки; Для Каждого Колонка Из НаборКолонок Цикл Структура.Вставить(Колонка.Имя); КонецЦикла;
+
+ Первый = Истина; Для Каждого Элемент Из Значение Цикл
+ ЗаполнитьЗначенияСвойств(Структура, Элемент);
+ Если Первый Тогда
+ Результат = ПереносСтроки + СледующееСмещение + jsonЗаписать(Структура, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, СледующееСмещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы); Первый = Ложь;
+ Иначе
+ Результат = Результат + "," + ПереносСтроки + СледующееСмещение + jsonЗаписать(Структура, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, СледующееСмещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы);
+ КонецЕсли;
+ КонецЦикла;
+ Возврат "[" + Результат + ПереносСтроки + Смещение + "]";
+
+ Иначе
+
+ // Пустая таблица значений.
+ Возврат "[]";
+
+ КонецЕсли;
+ КонецЕсли;
+
+ // Коллекция строк дерева значений.
+ Если (Тип = Тип("КоллекцияСтрокДереваЗначений")) Тогда
+ Если Значение.Количество() Тогда
+
+ // форматирование.
+ СледующееСмещение = Смещение + Табуляция;
+
+ Структура = Колонки; Первый = Истина; Для Каждого Элемент Из Значение Цикл
+ ЗаполнитьЗначенияСвойств(Структура, Элемент); Структура.Строки = Элемент.Строки;
+ Если Первый Тогда
+ Результат = ПереносСтроки + СледующееСмещение + jsonЗаписать(Структура, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Колонки, СледующееСмещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы); Первый = Ложь;
+ Иначе
+ Результат = Результат + "," + ПереносСтроки + СледующееСмещение + jsonЗаписать(Структура, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Колонки, СледующееСмещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы);
+ КонецЕсли;
+ КонецЦикла;
+ Возврат "[" + Результат + ПереносСтроки + Смещение + "]";
+
+ Иначе
+
+ // Пустая коллекция строк.
+ Возврат "[]";
+
+ КонецЕсли;
+ КонецЕсли;
+
+ // Дерево значений.
+ Если (Тип = Тип("ДеревоЗначений")) Тогда
+
+ Структура = Новый Структура("Строки"); НаборКолонок = Значение.Колонки; Для Каждого Колонка Из НаборКолонок Цикл Структура.Вставить(Колонка.Имя); КонецЦикла;
+ Возврат jsonЗаписать(Значение.Строки, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Структура, Смещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы);
+
+ КонецЕсли;
+
+ // Запрос.
+ Если (Тип = Тип("Запрос")) Тогда Попытка Возврат jsonЗаписать(Значение.Выполнить().Выгрузить(), Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, Смещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы); Исключение ВызватьИсключение ИсключениеНевозможноВыполнитьЗапрос(ИнформацияОбОшибке().Причина.Описание); КонецПопытки; КонецЕсли;
+
+ // Результат запроса.
+ Если (Тип = Тип("РезультатЗапроса")) Тогда Возврат jsonЗаписать(Значение.Выгрузить(), Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, Смещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы); КонецЕсли;
+
+ // Выборка из результата запроса.
+ Если (Тип = Тип("ВыборкаИзРезультатаЗапроса")) Тогда
+
+ Структура = Новый Структура; НаборКолонок = Значение.Владелец().Колонки; Для Каждого Колонка Из НаборКолонок Цикл Структура.Вставить(Колонка.Имя); КонецЦикла;
+ ЗаполнитьЗначенияСвойств(Структура, Значение);
+ Возврат jsonЗаписать(Структура, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, Смещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы);
+
+ КонецЕсли;
+
+ // Построители.
+ Если ВспомогательныеДанные.Построители.СодержитТип(Тип) Тогда Попытка Значение.Выполнить(); Исключение ВызватьИсключение ИсключениеНевозможноВыполнитьЗапрос(ИнформацияОбОшибке().Причина.Описание); КонецПопытки; Возврат jsonЗаписать(Значение.Результат, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, Смещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы); КонецЕсли;
+
+ // Хранилище значения.
+ Если (Тип = Тип("ХранилищеЗначения")) Тогда Возврат jsonЗаписать(Значение.Получить(), Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, Смещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы); КонецЕсли;
+ #КонецЕсли
+
+ // Двоичные данные.
+ Если (Тип = Тип("ДвоичныеДанные")) Тогда
+ #Если ВебКлиент Или ТонкийКлиент Тогда
+ Возврат """" + СтрЗаменить(СтрЗаменить(СтрЗаменить(Base64Строка(Значение), Символы.ВК, ""), Символы.ПС, ""), "/", "\/") + """";
+ #Иначе
+ Возврат """" + СтрЗаменить(СтрЗаменить(СтрЗаменить(XMLСтрока(Значение), Символы.ВК, ""), Символы.ПС, ""), "/", "\/") + """";
+ #КонецЕсли
+ КонецЕсли;
+
+ // Картинка.
+ Если (Тип = Тип("Картинка")) Тогда
+ #Если ВебКлиент Или ТонкийКлиент Тогда
+ Возврат """" + СтрЗаменить(СтрЗаменить(СтрЗаменить(Base64Строка(Значение.ПолучитьДвоичныеДанные()), Символы.ВК, ""), Символы.ПС, ""), "/", "\/") + """";
+ #Иначе
+ Возврат """" + СтрЗаменить(СтрЗаменить(СтрЗаменить(XMLСтрока(Значение.ПолучитьДвоичныеДанные()), Символы.ВК, ""), Символы.ПС, ""), "/", "\/") + """";
+ #КонецЕсли
+ КонецЕсли;
+
+ // Ключ и значение.
+ Если (Тип = Тип("КлючИЗначение")) Тогда Возврат jsonЗаписать(Новый Структура("Ключ,Значение", Значение.Ключ, Значение.Значение), Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, Смещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы); КонецЕсли;
+
+ // Клиентские типы.
+ #Если НаСервере Тогда
+ Если ВспомогательныеДанные.КлиентскиеТипы.СодержитТип(Тип) Тогда
+ Если (Тип = Тип("ДанныеФормыДерево")) Тогда
+ Возврат jsonЗаписать(ДанныеФормыВЗначение(Значение, Тип("ДеревоЗначений")), Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, Смещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы);
+ Иначе
+ Возврат jsonЗаписать(Значение.Выгрузить(), Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, Смещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы);
+ КонецЕсли;
+ КонецЕсли;
+ #КонецЕсли
+
+ // COMSafeArray.
+ #Если ВебКлиент Тогда
+ #Иначе
+ Если (Тип = Тип("COMSafeArray")) Тогда Возврат jsonЗаписать(Значение.Выгрузить(), Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, Смещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы); КонецЕсли;
+ #КонецЕсли
+
+ // Ссылки.
+ #Если ВебКлиент Или ТонкийКлиент Тогда
+ #Иначе
+ Перечисление = Перечисления.ТипВсеСсылки().СодержитТип(Тип);
+ Если Перечисление Или
+ Справочники.ТипВсеСсылки().СодержитТип(Тип) Или
+ Документы.ТипВсеСсылки().СодержитТип(Тип) Или
+ ПланыВидовХарактеристик.ТипВсеСсылки().СодержитТип(Тип) Или
+ ПланыСчетов.ТипВсеСсылки().СодержитТип(Тип) Или
+ ПланыВидовРасчета.ТипВсеСсылки().СодержитТип(Тип) Или
+ Задачи.ТипВсеСсылки().СодержитТип(Тип) Или
+ БизнесПроцессы.ТипВсеСсылки().СодержитТип(Тип) Или
+ БизнесПроцессы.ТипВсеСсылкиТочекМаршрутаБизнесПроцессов().СодержитТип(Тип) Или
+ ПланыОбмена.ТипВсеСсылки().СодержитТип(Тип) Тогда
+ Возврат jsonЗаписатьСсылку(Значение, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Перечисление, Смещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы);
+ КонецЕсли;
+ #КонецЕсли
+
+ // Неподдерживаемые типы.
+ Возврат jsonЗаписатьСтроку(Значение, ПолноеМаскированиеСимволов, МаскированиеКириллицы);
+
+КонецФункции // jsonЗаписать()
+
+Функция jsonЗаписатьСтроку(Значение, ПолноеМаскированиеСимволов, МаскированиеКириллицы)
+
+ // Маскирование служебных символов.
+ Результат = СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(Значение,
+ "\", "\\"), // x5c
+ "/", "\/"), // x2f
+ Символ(008), "\b"), // x08
+ Символы.Таб, "\t"), // x09
+ Символы.ПС, "\n"), // x0a
+ Символы.ПФ, "\f"), // x0c
+ Символы.ВК, "\r"), // x0d
+ """", "\"""); // x22
+
+ // Маскирование специальных символов.
+ Результат = СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(Результат,
+ Символ(00), "\u0000"),
+ Символ(01), "\u0001"),
+ Символ(02), "\u0002"),
+ Символ(03), "\u0003"),
+ Символ(04), "\u0004"),
+ Символ(05), "\u0005"),
+ Символ(06), "\u0006"),
+ Символ(07), "\u0007"),
+ Символ(11), "\u000b"),
+ Символ(14), "\u000e"),
+ Символ(15), "\u000f"),
+ Символ(16), "\u0010"),
+ Символ(17), "\u0011"),
+ Символ(18), "\u0012"),
+ Символ(19), "\u0013"),
+ Символ(20), "\u0014"),
+ Символ(21), "\u0015"),
+ Символ(22), "\u0016"),
+ Символ(23), "\u0017"),
+ Символ(24), "\u0018"),
+ Символ(25), "\u0019"),
+ Символ(26), "\u001a"),
+ Символ(27), "\u001b"),
+ Символ(28), "\u001c"),
+ Символ(29), "\u001d"),
+ Символ(30), "\u001e"),
+ Символ(31), "\u001f");
+
+ Если ПолноеМаскированиеСимволов Тогда
+
+ // Маскирование сиволов обрабатываемых JavaScript-ом не правильно.
+ Результат = СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(Результат,
+ Символ(127), "\u007f"),
+ Символ(128), "\u0080"),
+ Символ(129), "\u0081"),
+ Символ(130), "\u0082"),
+ Символ(131), "\u0083"),
+ Символ(132), "\u0084"),
+ Символ(133), "\u0085"),
+ Символ(134), "\u0086"),
+ Символ(135), "\u0087"),
+ Символ(136), "\u0088"),
+ Символ(137), "\u0089"),
+ Символ(138), "\u008a"),
+ Символ(139), "\u008b"),
+ Символ(140), "\u008c"),
+ Символ(141), "\u008d"),
+ Символ(142), "\u008e"),
+ Символ(143), "\u008f"),
+ Символ(144), "\u0090"),
+ Символ(145), "\u0091"),
+ Символ(146), "\u0092"),
+ Символ(147), "\u0093"),
+ Символ(148), "\u0094"),
+ Символ(149), "\u0095"),
+ Символ(150), "\u0096"),
+ Символ(151), "\u0097"),
+ Символ(152), "\u0098"),
+ Символ(153), "\u0099"),
+ Символ(154), "\u009a"),
+ Символ(155), "\u009b"),
+ Символ(156), "\u009c"),
+ Символ(157), "\u009d"),
+ Символ(158), "\u009e"),
+ Символ(159), "\u009f"),
+ Символ(173), "\u00ad");
+
+ Результат = СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(Результат,
+ Символ(1536), "\u0600"),
+ Символ(1537), "\u0601"),
+ Символ(1538), "\u0602"),
+ Символ(1539), "\u0603"),
+ Символ(1540), "\u0604"),
+ Символ(1807), "\u070f"),
+ Символ(6068), "\u17b4"),
+ Символ(6069), "\u17b5"),
+ Символ(8204), "\u200c"),
+ Символ(8205), "\u200d"),
+ Символ(8206), "\u200e"),
+ Символ(8207), "\u200f"),
+ Символ(8232), "\u2028"),
+ Символ(8233), "\u2029"),
+ Символ(8234), "\u202a"),
+ Символ(8235), "\u202b"),
+ Символ(8236), "\u202c"),
+ Символ(8237), "\u202d"),
+ Символ(8238), "\u202e"),
+ Символ(8239), "\u202f"),
+ Символ(8288), "\u2060"),
+ Символ(8289), "\u2061"),
+ Символ(8290), "\u2062"),
+ Символ(8291), "\u2063"),
+ Символ(8292), "\u2064"),
+ Символ(8293), "\u2065"),
+ Символ(8294), "\u2066"),
+ Символ(8295), "\u2067");
+
+ Результат = СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(Результат,
+ Символ(8296), "\u2068"),
+ Символ(8297), "\u2069"),
+ Символ(8268), "\u206a"),
+ Символ(8299), "\u206b"),
+ Символ(8300), "\u206c"),
+ Символ(8301), "\u206d"),
+ Символ(8302), "\u206e"),
+ Символ(8303), "\u206f"),
+ Символ(65279), "\ufeff"),
+ Символ(65520), "\ufff0"),
+ Символ(65521), "\ufff1"),
+ Символ(65522), "\ufff2"),
+ Символ(65523), "\ufff3"),
+ Символ(65524), "\ufff4"),
+ Символ(65525), "\ufff5"),
+ Символ(65526), "\ufff6"),
+ Символ(65527), "\ufff7"),
+ Символ(65528), "\ufff8"),
+ Символ(65529), "\ufff9"),
+ Символ(65530), "\ufffa"),
+ Символ(65531), "\ufffb"),
+ Символ(65532), "\ufffc"),
+ Символ(65533), "\ufffd"),
+ Символ(65534), "\ufffe"),
+ Символ(65535), "\uffff");
+
+ КонецЕсли;
+
+ Если МаскированиеКириллицы Тогда
+
+ // Маскирование кириллических символов.
+ Результат = СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(Результат,
+ "А", "\u0410"),
+ "Б", "\u0411"),
+ "В", "\u0412"),
+ "Г", "\u0413"),
+ "Д", "\u0414"),
+ "Е", "\u0415"),
+ "Ж", "\u0416"),
+ "З", "\u0417"),
+ "И", "\u0418"),
+ "Й", "\u0419"),
+ "К", "\u041a"),
+ "Л", "\u041b"),
+ "М", "\u041c"),
+ "Н", "\u041d"),
+ "О", "\u041e"),
+ "П", "\u041f"),
+ "Р", "\u0420"),
+ "С", "\u0421"),
+ "Т", "\u0422"),
+ "У", "\u0423"),
+ "Ф", "\u0424"),
+ "Х", "\u0425"),
+ "Ц", "\u0426"),
+ "Ч", "\u0427"),
+ "Ш", "\u0428"),
+ "Щ", "\u0429"),
+ "Ъ", "\u042a"),
+ "Ы", "\u042b"),
+ "Ь", "\u042c"),
+ "Э", "\u042d"),
+ "Ю", "\u042e"),
+ "Я", "\u042f");
+
+ Результат = СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(Результат,
+ "а", "\u0430"),
+ "б", "\u0431"),
+ "в", "\u0432"),
+ "г", "\u0433"),
+ "д", "\u0434"),
+ "е", "\u0435"),
+ "ж", "\u0436"),
+ "з", "\u0437"),
+ "и", "\u0438"),
+ "й", "\u0439"),
+ "к", "\u043a"),
+ "л", "\u043b"),
+ "м", "\u043c"),
+ "н", "\u043d"),
+ "о", "\u043e"),
+ "п", "\u043f"),
+ "р", "\u0440"),
+ "с", "\u0441"),
+ "т", "\u0442"),
+ "у", "\u0443"),
+ "ф", "\u0444"),
+ "х", "\u0445"),
+ "ц", "\u0446"),
+ "ч", "\u0447"),
+ "ш", "\u0448"),
+ "щ", "\u0449"),
+ "ъ", "\u044a"),
+ "ы", "\u044b"),
+ "ь", "\u044c"),
+ "э", "\u044d"),
+ "ю", "\u044e"),
+ "я", "\u044f");
+
+ Результат = СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(Результат,
+ "’", "\u2019"),
+ "Ґ", "\u0490"),
+ "Ђ", "\u0402"),
+ "Ѓ", "\u0403"),
+ "Ѐ", "\u0400"),
+ "Ё", "\u0401"),
+ "Є", "\u0404"),
+ "Ѕ", "\u0405"),
+ "Ѝ", "\u040d"),
+ "І", "\u0406"),
+ "Ї", "\u0407"),
+ "Ј", "\u0408"),
+ "Љ", "\u0409"),
+ "Њ", "\u040a"),
+ "Ћ", "\u040b"),
+ "Ќ", "\u040c"),
+ "Ў", "\u040e"),
+ "Џ", "\u040f"),
+ "ґ", "\u0491"),
+ "ђ", "\u0452"),
+ "ѓ", "\u0453"),
+ "ѐ", "\u0450"),
+ "ё", "\u0451"),
+ "є", "\u0454"),
+ "ѕ", "\u0455"),
+ "ѝ", "\u045d"),
+ "і", "\u0456"),
+ "ї", "\u0457"),
+ "ј", "\u0458"),
+ "љ", "\u0459"),
+ "њ", "\u045a"),
+ "ћ", "\u045b"),
+ "ќ", "\u045c"),
+ "ў", "\u045e"),
+ "џ", "\u045f");
+
+ КонецЕсли;
+
+ // Кавычки.
+ Возврат """" + Результат + """";
+
+КонецФункции // jsonЗаписатьСтроку()
+
+Функция jsonЗаписатьСсылку(Значение, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Перечисление, Смещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы)
+#Если ВебКлиент Или ТонкийКлиент Тогда
+#Иначе
+
+ // Идентификатор.
+ Если Стандарт Тогда
+ Если Перечисление Тогда Идентификатор = Лев(Прав(ЗначениеВСтрокуВнутр(Значение), 33), 32); Идентификатор = Прав(Идентификатор, 8) + "-" + Сред(Идентификатор, 21, 4) + "-" + Сред(Идентификатор, 17, 4) + "-" + Лев(Идентификатор, 4) + "-" + Сред(Идентификатор, 5, 12); Иначе Идентификатор = XMLСтрока(Значение); КонецЕсли;
+ Иначе
+ Идентификатор = ЗначениеВСтрокуВнутр(Значение); Идентификатор = "¦ref¦" + СтрЗаменить(СтрЗаменить(Сред(Идентификатор, 6, СтрДлина(Идентификатор) - 6), ":", "×"), ",", "÷") + "¦";
+ КонецЕсли;
+
+ // Включая представление ссылки.
+ Если ПредставленияСсылок Тогда Возврат jsonЗаписать(Новый Структура("Ссылка,Представление", Идентификатор, Строка(Значение)), Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, Смещение, Отступ, Табуляция, ПереносСтроки, ПолноеМаскированиеСимволов, МаскированиеКириллицы); КонецЕсли;
+
+ // Ссылка.
+ Возврат """" + Идентификатор + """";
+
+#КонецЕсли
+КонецФункции // jsonЗаписатьСсылку()
+
+
+// ─────────────────────────────────────────────────────────────────────────────
+// ЛОКАЛИЗАЦИЯ
+
+Функция СформироватьСтрокуПоШаблону(Строка, Параметры)
+
+ Результат = Строка;
+
+ Для Каждого Параметр Из Параметры Цикл
+ Результат = СтрЗаменить(Результат, "[" + Параметр.Ключ + "]", Строка(Параметр.Значение));
+ КонецЦикла;
+
+ Возврат Результат;
+
+КонецФункции // СформироватьСтрокуПоШаблону()
+
+
+Функция ИсключениеПустойПакетДанных()
+
+ Возврат НСтр("ru = 'JSON: Пустой пакет данных.'; uk = 'JSON: Порожній пакет даних.'");
+
+КонецФункции // ИсключениеНеожиданноеОкончаниеСтроки()
+
+Функция ИсключениеНекорректныйПакетДанных(Индекс)
+
+ Возврат СформироватьСтрокуПоШаблону(НСтр("ru = 'JSON: Некорректный пакет данных в позиции [Индекс].'; uk = 'JSON: Некоректний пакет даних у позиції [Индекс].'"),
+ Новый Структура("Индекс", Индекс));
+
+КонецФункции // ИсключениеНекорректныйПакетДанных()
+
+Функция ИсключениеНеожиданноеОкончаниеПакетаДанных()
+
+ Возврат НСтр("ru = 'JSON: Неожиданное окончание пакета данных.'; uk = 'JSON: Несподіване закінчення пакета даних.'");
+
+КонецФункции // ИсключениеНеожиданноеОкончаниеПакетаДанных()
+
+Функция ИсключениеНеожиданноеОкончаниеМассива(Индекс)
+
+ Возврат СформироватьСтрокуПоШаблону(НСтр("ru = 'JSON: Неожиданное окончание массива в позиции [Индекс].'; uk = 'JSON: Несподіване закінчення масиву у позиції [Индекс].'"),
+ Новый Структура("Индекс", Индекс));
+
+КонецФункции // ИсключениеНеожиданноеОкончаниеМассива()
+
+Функция ИсключениеНеожиданноеОкончаниеОбъетка(Индекс)
+
+ Возврат СформироватьСтрокуПоШаблону(НСтр("ru = 'JSON: Неожиданное окончание объекта в позиции [Индекс].'; uk = 'JSON: Несподіване закінчення об''єкту у позиції [Индекс].'"),
+ Новый Структура("Индекс", Индекс));
+
+КонецФункции // ИсключениеНеожиданноеОкончаниеОбъетка()
+
+Функция ИсключениеНекорректныйТипNull(Индекс)
+
+ Возврат СформироватьСтрокуПоШаблону(НСтр("ru = 'JSON: Некорректный тип Null в позиции [Индекс].'; uk = 'JSON: Некоректний тип Null у позиції [Индекс].'"),
+ Новый Структура("Индекс", Индекс));
+
+КонецФункции // ИсключениеНекорректныйТипNull()
+
+Функция ИсключениеНекорректныйТипБулево(Индекс)
+
+ Возврат СформироватьСтрокуПоШаблону(НСтр("ru = 'JSON: Некорректный тип Булево в позиции [Индекс].'; uk = 'JSON: Некоректний тип Булево у позиції [Индекс].'"),
+ Новый Структура("Индекс", Индекс));
+
+КонецФункции // ИсключениеНекорректныйТипБулево()
+
+Функция ИсключениеНекорректныйТипНеопределено(Индекс)
+
+ Возврат СформироватьСтрокуПоШаблону(НСтр("ru = 'JSON: Некорректный тип Неопределено в позиции [Индекс].'; uk = 'JSON: Некоректний тип Невизначено у позиції [Индекс].'"),
+ Новый Структура("Индекс", Индекс));
+
+КонецФункции // ИсключениеНекорректныйТипНеопределено()
+
+Функция ИсключениеНекорректныйФорматСтроки(Индекс)
+
+ Возврат СформироватьСтрокуПоШаблону(НСтр("ru = 'JSON: Некорректный формат строки в позиции [Индекс].'; uk = 'JSON: Некоректний формат рядка у позиції [Индекс].'"),
+ Новый Структура("Индекс", Индекс));
+
+КонецФункции // ИсключениеНекорректныйФорматСтроки()
+
+Функция ИсключениеНекорректныйФорматДаты(Индекс, Значение)
+
+ Возврат СформироватьСтрокуПоШаблону(НСтр("ru = 'JSON: Некорректный формат даты [Значение] в позиции [Индекс].'; uk = 'JSON: Некоректний формат дати [Значение] у позиції [Индекс].'"),
+ Новый Структура("Индекс", Индекс, Символ(034) + Значение + Символ(034)));
+
+КонецФункции // ИсключениеНекорректныйФорматДаты()
+
+Функция ИсключениеНекорректныйФорматЧисла(Индекс, Значение)
+
+ Если ПустаяСтрока(Значение) Тогда
+
+ Возврат СформироватьСтрокуПоШаблону(НСтр("ru = 'JSON: Неверный формат данных в позиции [Индекс].'; uk = 'JSON: Невірний формат даних у позиції [Индекс].'"),
+ Новый Структура("Индекс", Индекс));
+
+ Иначе
+
+ Возврат СформироватьСтрокуПоШаблону(НСтр("ru = 'JSON: Некорректный формат числа [Значение] в позиции [Индекс].'; uk = 'JSON: Некоректний формат числа [Значение] у позиції [Индекс].'"),
+ Новый Структура("Индекс,Значение", Индекс, Символ(034) + Значение + Символ(034)));
+
+ КонецЕсли;
+
+КонецФункции // ИсключениеНекорректныйФорматЧисла()
+
+Функция ИсключениеНедопустимыйСимвол(Индекс, Символ)
+
+ Если (Символ = Неопределено) Тогда
+
+ Возврат СформироватьСтрокуПоШаблону(НСтр("ru = 'JSON: Недопустимый символ в позиции [Индекс].'; uk = 'JSON: Неприпустимий символ в позиції [Индекс].'"),
+ Новый Структура("Индекс", Индекс));
+
+ Иначе
+
+ Возврат СформироватьСтрокуПоШаблону(НСтр("ru = 'JSON: Недопустимый символ в позиции [Индекс], ожидается [Символ].'; uk = 'JSON: Неприпустимий символ в позиції [Индекс], очікується [Символ].'"),
+ Новый Структура("Индекс,Символ", Индекс, Символ(034) + Символ + Символ(034)));
+
+ КонецЕсли;
+
+КонецФункции // ИсключениеНедопустимыйСимвол()
+
+Функция ИсключениеНеопознанныйТип(Индекс, Тип)
+
+ Возврат СформироватьСтрокуПоШаблону(НСтр("ru = 'JSON: Недопустимый тип [Тип] в позиции [Индекс].'; uk = 'JSON: Неприпустимий тип [Тип] у позиції [Индекс].'"),
+ Новый Структура("Индекс,Тип", Индекс, Символ(034) + Тип + Символ(034)));
+
+КонецФункции // ИсключениеНеопознанныйТип()
+
+Функция ИсключениеНевозможноПреобразоватьЗначение(Индекс, Значение)
+
+ Возврат СформироватьСтрокуПоШаблону(НСтр("ru = 'JSON: Невозможно преобразовать значение [Значение] в позиции [Индекс].'; uk = 'JSON: Неможливо перетворити значення [Значение] у позиції [Индекс].'"),
+ Новый Структура("Индекс,Значение", Индекс, Символ(034) + Значение + Символ(034)));
+
+КонецФункции // ИсключениеНевозможноПреобразоватьЗначение()
+
+Функция ИсключениеНевозможноПреобразоватьЗначениеНаКлиенте(Индекс, Значение)
+
+ Возврат СформироватьСтрокуПоШаблону(НСтр("ru = 'JSON: Невозможно на клиенте преобразовать значение [Значение] в позиции [Индекс].'; uk = 'JSON: Неможливо на клієнті перетворити значення [Значение] у позиції [Индекс].'"),
+ Новый Структура("Индекс,Значение", Индекс, Символ(034) + Значение + Символ(034)));
+
+КонецФункции // ИсключениеНевозможноПреобразоватьЗначениеНаКлиенте()
+
+
+Функция ИсключениеНекорректныйПараметр(Параметр)
+
+ Возврат СформироватьСтрокуПоШаблону(НСтр("ru = 'JSON: Недопустимое значение параметра [Параметр].'; uk = 'JSON: Неприпустиме значення параметра [Параметр].'"),
+ Новый Структура("Параметр", Символ(034) + Параметр + Символ(034)));
+
+КонецФункции // ИсключениеНекорректныйПараметр()
+
+
+Функция ИсключениеНедопустимыйТипКлюча(Индекс, Значение)
+
+ Если (Индекс = Неопределено) Тогда
+
+ Возврат СформироватьСтрокуПоШаблону(НСтр("ru = 'JSON: Недопустимый тип значения ключа [Тип].'; uk = 'JSON: Неприпустимий тип значення ключа [Тип].'"),
+ Новый Структура("Тип", ТипЗнч(Значение)));
+
+ Иначе
+
+ Возврат СформироватьСтрокуПоШаблону(НСтр("ru = 'JSON: Недопустимый тип значения ключа [Тип] в позиции [Индекс].'; uk = 'JSON: Неприпустимий тип значення ключа [Тип] в позиції [Индекс].'"),
+ Новый Структура("Индекс,Тип", Индекс, Символ(034) + ТипЗнч(Значение) + Символ(034)));
+
+ КонецЕсли;
+
+КонецФункции // ИсключениеНедопустимыйТипКлюча()
+
+Функция ИсключениеНевозможноВыполнитьЗапрос(Описание)
+
+ Позиция = Найти(Описание, "}: "); Если Позиция Тогда Позиция = Позиция + 3; Иначе Позиция = 1; КонецЕсли;
+ Длина = Найти(Описание, Символы.ПС); Если Длина Тогда Длина = Длина - Позиция; Иначе Длина = СтрДлина(Описание); КонецЕсли;
+ Возврат НСтр("ru = 'JSON: Невозможно выполнить запрос. '; uk = 'JSON: Неможливо виконати запит. '") + Сред(Описание, Позиция, Длина) + ".";
+
+КонецФункции // ИсключениеНевозможноВыполнитьЗапрос()
diff --git a/src/Plugins/JSON/maps.txt b/src/Plugins/JSON/maps.txt
new file mode 100644
index 00000000..cffb4113
--- /dev/null
+++ b/src/Plugins/JSON/maps.txt
@@ -0,0 +1,2 @@
+Form\Форма\Форма.bsl-->41d7ae5c-a2dd-4493-a296-26417b78fed0.0 (50, 131)
+Макеты\Макет.txt-->cadc77d3-254f-43b4-90f1-9755cfc479b0.0
diff --git a/src/Plugins/JSON/renames.txt b/src/Plugins/JSON/renames.txt
new file mode 100644
index 00000000..186fbb1c
--- /dev/null
+++ b/src/Plugins/JSON/renames.txt
@@ -0,0 +1,11 @@
+41d7ae5c-a2dd-4493-a296-26417b78fed0-->und\41d7ae5c-a2dd-4493-a296-26417b78fed0
+41d7ae5c-a2dd-4493-a296-26417b78fed0.0-->und\41d7ae5c-a2dd-4493-a296-26417b78fed0.0
+89ae406c-4f6b-4501-842f-bd65f4e952bc-->und\89ae406c-4f6b-4501-842f-bd65f4e952bc
+a4f339bc-7376-43c4-af35-6b4b76e8d3b5.0\info-->und\a4f339bc-7376-43c4-af35-6b4b76e8d3b5.0\info
+a4f339bc-7376-43c4-af35-6b4b76e8d3b5.0\text-->ObjectModule.bsl
+cadc77d3-254f-43b4-90f1-9755cfc479b0-->und\cadc77d3-254f-43b4-90f1-9755cfc479b0
+cadc77d3-254f-43b4-90f1-9755cfc479b0.0-->und\cadc77d3-254f-43b4-90f1-9755cfc479b0.0
+copyinfo-->und\copyinfo
+root-->und\root
+version-->und\version
+versions-->und\versions
diff --git a/src/Plugins/JSON/und/41d7ae5c-a2dd-4493-a296-26417b78fed0 b/src/Plugins/JSON/und/41d7ae5c-a2dd-4493-a296-26417b78fed0
new file mode 100644
index 00000000..7282ffca
--- /dev/null
+++ b/src/Plugins/JSON/und/41d7ae5c-a2dd-4493-a296-26417b78fed0
@@ -0,0 +1,15 @@
+{1,
+{1,
+{0,
+{12,
+{1,
+{0,0,41d7ae5c-a2dd-4493-a296-26417b78fed0},"Форма",
+{1,"ru","Форма"},"",0,1,32e087ab-1491-49b6-aba7-43571b41ac2b,3},0,1,
+{2,
+{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,1},
+{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,2}
+}
+},
+{0}
+}
+},0}
\ No newline at end of file
diff --git a/src/Plugins/JSON/und/41d7ae5c-a2dd-4493-a296-26417b78fed0.0 b/src/Plugins/JSON/und/41d7ae5c-a2dd-4493-a296-26417b78fed0.0
new file mode 100644
index 00000000..f0b30640
--- /dev/null
+++ b/src/Plugins/JSON/und/41d7ae5c-a2dd-4493-a296-26417b78fed0.0
@@ -0,0 +1,169 @@
+{3,
+{46,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1,
+{1,0},0,0,1,1,1,0,1,0,
+{0,1,0},
+{0},1,
+{21,
+{-1,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1,
+{0,
+{0,
+{"B",1},0}
+},9,"ФормаКоманднаяПанель",
+{1,0},
+{1,0},0,1,0,0,0,2,2,
+{3,4,
+{0}
+},
+{7,3,0,1,100},
+{0,0,0},1,
+{0,0,1},0,1,0,0,0,3,3},0,"","",1,
+{21,
+{0},0,0,0,7,"Navigator",
+{1,0},
+{1,0},0,1,0,0,0,2,2,
+{3,4,
+{0}
+},
+{7,3,0,1,100},
+{0,0,0},0,0,1,0,1,
+{10,
+{0},0,0,0,0,"NavigatorРасширеннаяПодсказка",
+{1,0},
+{1,0},1,0,0,2,2,
+{3,4,
+{0}
+},
+{7,3,0,1,100},
+{0,0,0},1,
+{5,0,0,3,0,
+{0,1,0},
+{3,4,
+{0}
+},
+{3,4,
+{0}
+},
+{3,0,
+{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
+},0,1,2,
+{1,
+{1,0},0},0,0,1,0,0,1,0,3,3},0,3,3},1,"",2,0,0,0,0,0,3,3,0,0,2,100,1,1,0},"
+// { Plugin interface
+&НаКлиенте
+Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт
+ Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов);
+КонецФункции
+
+&НаСервере
+Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов)
+ Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов);
+КонецФункции
+// } Plugin interface
+
+// { Helpers
+&НаСервере
+Функция ЭтотОбъектНаСервере()
+ Возврат РеквизитФормыВЗначение(""Объект"");
+КонецФункции
+// } Helpers
+
+// ─────────────────────────────────────────────────────────────────────────────
+// { JSON API
+
+// JSON парсер.
+//
+// Параметры:
+// Значение - Строка. Строка данных в формате JSON для парсинга;
+//
+// Стандарт - Неопределено, Булево. Режим работы:
+// - Истина - стандартный режим (значение по умолчанию);
+// - Ложь - альтернативный режим;
+// - Неопределено - автоопределение режима;
+//
+// ПредставленияСсылок - Неопределено, Булево. Режим передачи ссылочных типов, с их представлением или без:
+// - Истина - ссылки передаются вместе со своим представлением, как объекты с двумя свойствами содержащими саму ссылку и ее представление;
+// - Ложь - ссылки передаются без представления (значение по умолчанию).
+// - Неопределено - автоопределение режима.
+//
+// Возвращаемое значение:
+// Набор данных согласно содержимому входящих данных.
+//
+&НаКлиенте
+Функция ПрочитатьJSON(Значение, Стандарт = Истина, ПредставленияСсылок = Ложь) Экспорт
+ Возврат ПрочитатьJSONнаСервере(Значение, Стандарт, ПредставленияСсылок);
+КонецФункции
+
+&НаСервере
+Функция ПрочитатьJSONнаСервере(Значение, Стандарт = Истина, ПредставленияСсылок = Ложь)
+
+ Возврат ЭтотОбъектНаСервере().ПрочитатьJSON(Значение, Стандарт, ПредставленияСсылок);
+
+КонецФункции // ПрочитатьJSON()
+
+// JSON сериализатор.
+//
+// Параметры:
+// Значение. Набор данных сериализуемых в формат JSON;
+//
+// Стандарт - Булево. Режим работы:
+// - Истина - стандартный режим (значение по умолчанию);
+// - Ложь - альтернативный режим;
+//
+// ПредставленияСсылок - Булево. Режим передачи ссылочных типов, с их представлением или без:
+// - Истина - ссылки передаются вместе со своим представлением, как объекты с двумя свойствами содержащими саму ссылку и ее представление;
+// - Ложь - ссылки передаются без представления (значение по умолчанию).
+//
+// Возвращаемое значение:
+// Строка. Строка данных в формате JSON согласно содержимому входящих данных.
+//
+&НаКлиенте
+Функция ЗаписатьJSON(Значение, Стандарт = Истина, ПредставленияСсылок = Ложь) Экспорт
+ Возврат ЗаписатьJSONнаСервере(Значение, Стандарт, ПредставленияСсылок);
+КонецФункции
+
+&НаСервере
+Функция ЗаписатьJSONнаСервере(Значение, Стандарт = Истина, ПредставленияСсылок = Ложь)
+
+ Возврат ЭтотОбъектНаСервере().ЗаписатьJSON(Значение, Стандарт, ПредставленияСсылок);
+
+КонецФункции // ЗаписатьJSON()
+
+// } JSON API",
+{4,1,
+{9,
+{1},0,"Объект",
+{1,0},
+{"Pattern",
+{"#",d2613f97-392a-42d5-9f46-dbe7e603f4c9}
+},
+{0,
+{0,
+{"B",1},0}
+},
+{0,
+{0,
+{"B",1},0}
+},
+{0,0},
+{0,0},1,0,0,0,
+{0,0},
+{0,0}
+},0,0,
+{#base64:77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxTZXR0
+aW5ncyB4bWxucz0iaHR0cDovL3Y4LjFjLnJ1LzguMS9kYXRhLWNvbXBvc2l0aW9u
+LXN5c3RlbS9zZXR0aW5ncyIgeG1sbnM6ZGNzY29yPSJodHRwOi8vdjguMWMucnUv
+OC4xL2RhdGEtY29tcG9zaXRpb24tc3lzdGVtL2NvcmUiIHhtbG5zOnN0eWxlPSJo
+dHRwOi8vdjguMWMucnUvOC4xL2RhdGEvdWkvc3R5bGUiIHhtbG5zOnN5cz0iaHR0
+cDovL3Y4LjFjLnJ1LzguMS9kYXRhL3VpL2ZvbnRzL3N5c3RlbSIgeG1sbnM6djg9
+Imh0dHA6Ly92OC4xYy5ydS84LjEvZGF0YS9jb3JlIiB4bWxuczp2OHVpPSJodHRw
+Oi8vdjguMWMucnUvOC4xL2RhdGEvdWkiIHhtbG5zOndlYj0iaHR0cDovL3Y4LjFj
+LnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93ZWIiIHhtbG5zOndpbj0iaHR0cDovL3Y4
+LjFjLnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93aW5kb3dzIiB4bWxuczp4cz0iaHR0
+cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDov
+L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiPg0KCTxvdXRwdXRQ
+YXJhbWV0ZXJzLz4NCjwvU2V0dGluZ3M+}
+},
+{0,0},
+{0,0},
+{0,0},
+{0,0},0,0}
\ No newline at end of file
diff --git a/src/Plugins/JSON/und/89ae406c-4f6b-4501-842f-bd65f4e952bc b/src/Plugins/JSON/und/89ae406c-4f6b-4501-842f-bd65f4e952bc
new file mode 100644
index 00000000..828857c5
--- /dev/null
+++ b/src/Plugins/JSON/und/89ae406c-4f6b-4501-842f-bd65f4e952bc
@@ -0,0 +1,124 @@
+{1,
+{89ae406c-4f6b-4501-842f-bd65f4e952bc},1,
+{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,
+{1,
+{4,d2613f97-392a-42d5-9f46-dbe7e603f4c9,8a4f4b3f-469b-4ae6-8caa-cd64a2b9b168,
+{0,
+{1,
+{0,0,a4f339bc-7376-43c4-af35-6b4b76e8d3b5},"JSON",
+{1,"ru","JSON"},"JavaScript Object Notation парсер и сериализатор",0,0}
+},00000000-0000-0000-0000-000000000000,"",00000000-0000-0000-0000-000000000000},4,
+{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0},
+{3daea016-69b7-4ed4-9453-127911372fe6,1,cadc77d3-254f-43b4-90f1-9755cfc479b0},
+{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,41d7ae5c-a2dd-4493-a296-26417b78fed0},
+{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,5,
+{
+{0,
+{27,
+{2,
+{1,
+{0,0,2d97c406-1d8e-4413-8092-c1dbcfd32f94},"Входящий",
+{1,"ru","Входящий"},"",0,0},
+{"Pattern",
+{"S"}
+}
+},0,
+{0},
+{0},0,"",0,
+{"U"},
+{"U"},0,00000000-0000-0000-0000-000000000000,2,0,
+{5004,0},
+{3,0,0},
+{0,0},0,
+{0},
+{"S",""},0,0,0}
+},0},
+{
+{0,
+{27,
+{2,
+{1,
+{0,0,313824fc-2843-46bd-b30c-2571f1f4c60d},"ВходящийРежим",
+{1,"ru","Входящий режим"},"",0,0},
+{"Pattern",
+{"B"},
+{"N",1,0,1}
+}
+},0,
+{0},
+{0},0,"",0,
+{"U"},
+{"U"},0,00000000-0000-0000-0000-000000000000,2,0,
+{5004,0},
+{3,0,0},
+{0,0},0,
+{0},
+{"S",""},0,0,0}
+},0},
+{
+{0,
+{27,
+{2,
+{1,
+{0,0,453818c2-e2c8-4c89-95af-d948f90c3993},"Исходящий",
+{1,"ru","Исходящий"},"",0,0},
+{"Pattern",
+{"S"}
+}
+},0,
+{0},
+{0},0,"",0,
+{"U"},
+{"U"},0,00000000-0000-0000-0000-000000000000,2,0,
+{5004,0},
+{3,0,0},
+{0,0},0,
+{0},
+{"S",""},0,0,0}
+},0},
+{
+{0,
+{27,
+{2,
+{1,
+{0,0,566c23fc-6918-4df7-b061-63a3bd944e1d},"ИсходящийРежим",
+{1,"ru","Исходящий режим"},"",0,0},
+{"Pattern",
+{"B"}
+}
+},0,
+{0},
+{0},0,"",0,
+{"U"},
+{"U"},0,00000000-0000-0000-0000-000000000000,2,0,
+{5004,0},
+{3,0,0},
+{0,0},0,
+{0},
+{"S",""},0,0,0}
+},0},
+{
+{0,
+{27,
+{2,
+{1,
+{0,0,4b4c4e05-2d9b-4d8c-b55e-b3dd18cb001f},"НекорректныеДанные",
+{1,"ru","Некорректные данные"},"",0,0},
+{"Pattern",
+{"B"}
+}
+},0,
+{0},
+{0},0,"",0,
+{"U"},
+{"U"},0,00000000-0000-0000-0000-000000000000,2,0,
+{5004,0},
+{3,0,0},
+{0,0},0,
+{0},
+{"S",""},0,0,0}
+},0}
+}
+}
+}
+}
\ No newline at end of file
diff --git a/src/Plugins/JSON/und/a4f339bc-7376-43c4-af35-6b4b76e8d3b5.0/info b/src/Plugins/JSON/und/a4f339bc-7376-43c4-af35-6b4b76e8d3b5.0/info
new file mode 100644
index 00000000..c70b5f39
--- /dev/null
+++ b/src/Plugins/JSON/und/a4f339bc-7376-43c4-af35-6b4b76e8d3b5.0/info
@@ -0,0 +1 @@
+{3,1,0,"",0}
\ No newline at end of file
diff --git a/src/Plugins/JSON/und/cadc77d3-254f-43b4-90f1-9755cfc479b0 b/src/Plugins/JSON/und/cadc77d3-254f-43b4-90f1-9755cfc479b0
new file mode 100644
index 00000000..1a56d1c1
--- /dev/null
+++ b/src/Plugins/JSON/und/cadc77d3-254f-43b4-90f1-9755cfc479b0
@@ -0,0 +1,6 @@
+{1,
+{2,4,
+{0,
+{0,0,cadc77d3-254f-43b4-90f1-9755cfc479b0},"Макет",
+{1,"ru","Макет"},""}
+},0}
\ No newline at end of file
diff --git a/src/Plugins/JSON/und/cadc77d3-254f-43b4-90f1-9755cfc479b0.0 b/src/Plugins/JSON/und/cadc77d3-254f-43b4-90f1-9755cfc479b0.0
new file mode 100644
index 00000000..21759d02
--- /dev/null
+++ b/src/Plugins/JSON/und/cadc77d3-254f-43b4-90f1-9755cfc479b0.0
@@ -0,0 +1,67 @@
+{
+ "Null": null,
+ "Неопределено": undefined,
+ "Ложь": false,
+ "Истина": true,
+ "Число (плавающая точка)": 1.001e-2,
+ "Число (фиксированная точка)": -1000.001,
+ "Дата": "2011-01-01T12:00:00Z",
+ "Строка (двойная кавычка)": "Двойная кавычка",
+ "Строка (одинарная кавычка)": 'Одинарная кавычка',
+ "Маскируемые символы": " \\ \/ \b \t \n \f \r \" ",
+ "Заковыристая строка": "\\n\\",
+ "Проблемные символы": "Спец. символы: \u0000, \u0001, \u0002, ... , \u001e, \u001f; Юникод символы: \u0421\u0430\u0448\u0430\u0020\u003a\u0029",
+ "Кириллические символы": "’АБВГҐДЂЃЕЀЁЄЖЗЅИЍІЇЙЈКЛЉМНЊОПРСТЋЌУЎФХЦЧЏШЩЪЫЬЭЮЯ",
+ "Идентификатор": "a763cfbb-f94f-4c67-8e13-0e96a3a7f353",
+ "Пустой массив": [],
+ "Пустой объект": {},
+ "Массив": [
+ null,
+ undefined,
+ false,
+ true,
+ 1.001e-2,
+ -1000.001,
+ "2011-01-01T12:00:00Z",
+ "Двойная кавычка",
+ 'Одинарная кавычка',
+ "a763cfbb-f94f-4c67-8e13-0e96a3a7f353",
+ [
+ "Первый элемент",
+ "Второй элемент"
+ ],
+ {
+ "Имя": "Александр",
+ "Отчество": "Владимирович",
+ "Фамилия": "Переверзев"
+ },
+ {
+ "ДопустимоеИмяСвойства": true,
+ "Недопустимое Имя Свойства": false
+ }
+ ],
+ "Структура":
+ {
+ "Имя": "Александр",
+ "Отчество": "Владимирович",
+ "Фамилия": "Переверзев"
+ },
+ "Соответствие":
+ {
+ "ДопустимоеИмяСвойства": true,
+ "Недопустимое Имя Свойства": false
+ },
+ "Ссылка":
+ {
+ "Ссылка": "00000000-0000-0000-0000-000000000000",
+ "Представление": "Неизвестная ссылка"
+ },
+ "COMSafeArray": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ]
+}
\ No newline at end of file
diff --git a/src/Plugins/JSON/und/copyinfo b/src/Plugins/JSON/und/copyinfo
new file mode 100644
index 00000000..88f32bb8
--- /dev/null
+++ b/src/Plugins/JSON/und/copyinfo
@@ -0,0 +1,13 @@
+{4,
+{1,
+{a4f339bc-7376-43c4-af35-6b4b76e8d3b5,a4f339bc-7376-43c4-af35-6b4b76e8d3b5,1,
+{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"JSON"}
+}
+},
+{1,
+{d2613f97-392a-42d5-9f46-dbe7e603f4c9,a4f339bc-7376-43c4-af35-6b4b76e8d3b5,0}
+},
+{0},
+{0,0},
+{0}
+}
\ No newline at end of file
diff --git a/src/Plugins/JSON/und/root b/src/Plugins/JSON/und/root
new file mode 100644
index 00000000..73dec59f
--- /dev/null
+++ b/src/Plugins/JSON/und/root
@@ -0,0 +1 @@
+{2,89ae406c-4f6b-4501-842f-bd65f4e952bc,}
\ No newline at end of file
diff --git a/src/Plugins/JSON/und/version b/src/Plugins/JSON/und/version
new file mode 100644
index 00000000..57cc6067
--- /dev/null
+++ b/src/Plugins/JSON/und/version
@@ -0,0 +1,5 @@
+{
+{216,0,
+{80214,0}
+}
+}
\ No newline at end of file
diff --git a/src/Plugins/JSON/und/versions b/src/Plugins/JSON/und/versions
new file mode 100644
index 00000000..828c0c92
--- /dev/null
+++ b/src/Plugins/JSON/und/versions
@@ -0,0 +1 @@
+{1,12,"",ad542962-0fc2-4676-81e0-fe84b26e762f,"41d7ae5c-a2dd-4493-a296-26417b78fed0",e50c47f2-4eae-4280-ae71-f90f6e95c457,"41d7ae5c-a2dd-4493-a296-26417b78fed0.0",f91c836a-4e14-4075-abd2-cb29a0507c63,"41d7ae5c-a2dd-4493-a296-26417b78fed0.1",0e37708e-e8a8-44ce-8dd9-d2748fe09df1,"89ae406c-4f6b-4501-842f-bd65f4e952bc",2344e0e3-9aca-4486-83af-c4fe643e90b6,"a4f339bc-7376-43c4-af35-6b4b76e8d3b5.0",71ba6532-7d66-4177-a508-ff607bcacdd1,"cadc77d3-254f-43b4-90f1-9755cfc479b0",f8cbd1e4-28b2-4b11-b560-4dbfc125a8aa,"cadc77d3-254f-43b4-90f1-9755cfc479b0.0",a35b34dd-7366-4b37-920c-b0315bdd3ce3,"copyinfo",0d7c5c69-9b5e-4e49-8b0a-60806c7e2092,"root",e3dc8f76-43e4-4250-a522-4740f3ab6a58,"version",091f12f6-0f33-4d6e-be6d-c54e03fb224f,"versions",88f9a311-5e9e-4aa0-aa17-91c401f235d7}
\ No newline at end of file
diff --git "a/src/Plugins/JSON/\320\234\320\260\320\272\320\265\321\202\321\213/\320\234\320\260\320\272\320\265\321\202.txt" "b/src/Plugins/JSON/\320\234\320\260\320\272\320\265\321\202\321\213/\320\234\320\260\320\272\320\265\321\202.txt"
new file mode 100644
index 00000000..21759d02
--- /dev/null
+++ "b/src/Plugins/JSON/\320\234\320\260\320\272\320\265\321\202\321\213/\320\234\320\260\320\272\320\265\321\202.txt"
@@ -0,0 +1,67 @@
+{
+ "Null": null,
+ "Неопределено": undefined,
+ "Ложь": false,
+ "Истина": true,
+ "Число (плавающая точка)": 1.001e-2,
+ "Число (фиксированная точка)": -1000.001,
+ "Дата": "2011-01-01T12:00:00Z",
+ "Строка (двойная кавычка)": "Двойная кавычка",
+ "Строка (одинарная кавычка)": 'Одинарная кавычка',
+ "Маскируемые символы": " \\ \/ \b \t \n \f \r \" ",
+ "Заковыристая строка": "\\n\\",
+ "Проблемные символы": "Спец. символы: \u0000, \u0001, \u0002, ... , \u001e, \u001f; Юникод символы: \u0421\u0430\u0448\u0430\u0020\u003a\u0029",
+ "Кириллические символы": "’АБВГҐДЂЃЕЀЁЄЖЗЅИЍІЇЙЈКЛЉМНЊОПРСТЋЌУЎФХЦЧЏШЩЪЫЬЭЮЯ",
+ "Идентификатор": "a763cfbb-f94f-4c67-8e13-0e96a3a7f353",
+ "Пустой массив": [],
+ "Пустой объект": {},
+ "Массив": [
+ null,
+ undefined,
+ false,
+ true,
+ 1.001e-2,
+ -1000.001,
+ "2011-01-01T12:00:00Z",
+ "Двойная кавычка",
+ 'Одинарная кавычка',
+ "a763cfbb-f94f-4c67-8e13-0e96a3a7f353",
+ [
+ "Первый элемент",
+ "Второй элемент"
+ ],
+ {
+ "Имя": "Александр",
+ "Отчество": "Владимирович",
+ "Фамилия": "Переверзев"
+ },
+ {
+ "ДопустимоеИмяСвойства": true,
+ "Недопустимое Имя Свойства": false
+ }
+ ],
+ "Структура":
+ {
+ "Имя": "Александр",
+ "Отчество": "Владимирович",
+ "Фамилия": "Переверзев"
+ },
+ "Соответствие":
+ {
+ "ДопустимоеИмяСвойства": true,
+ "Недопустимое Имя Свойства": false
+ },
+ "Ссылка":
+ {
+ "Ссылка": "00000000-0000-0000-0000-000000000000",
+ "Представление": "Неизвестная ссылка"
+ },
+ "COMSafeArray": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ]
+}
\ No newline at end of file
diff --git "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl"
index 12ecaa3a..0a3d6050 100644
--- "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl"
+++ "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl"
@@ -57,12 +57,12 @@
// } Report generator interface
&НаКлиенте
-Процедура НачатьЭкспорт(ОбработкаОповещения, Отчет, ПолныйПутьФайла) Экспорт
+//Процедура НачатьЭкспорт(ОбработкаОповещения, Отчет, ПолныйПутьФайла) Экспорт
- Экспортировать(Отчет, ПолныйПутьФайла);
- ВыполнитьОбработкуОповещения(ОбработкаОповещения);
+// Экспортировать(Отчет, ПолныйПутьФайла);
+// ВыполнитьОбработкуОповещения(ОбработкаОповещения);
-КонецПроцедуры
+//КонецПроцедуры
// { Helpers
@@ -72,8 +72,8 @@
Функция ПолучитьУникальноеИмяФайла(Знач ИмяФайла)
Файл = Новый Файл(ИмяФайла);
ГУИД = Новый УникальныйИдентификатор;
- ИмяФайла = СтрШаблон("%1-%2-testsuite.xml", ГУИД, Файл.ИмяБезРасширения);
- ИмяФайла = СтрШаблон("%1/%2", Файл.Путь, ИмяФайла);
+ ИмяФайла = ЭтотОбъектНаСервере().СтроковыеУтилиты.СтрШаблон82("%1-%2-testsuite.xml", ГУИД, Файл.ИмяБезРасширения);
+ ИмяФайла = ЭтотОбъектНаСервере().СтроковыеУтилиты.СтрШаблон82("%1/%2", Файл.Путь, ИмяФайла);
Возврат ИмяФайла;
КонецФункции
diff --git "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/ObjectModule.bsl" "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/ObjectModule.bsl"
index 58d2d13a..e6cb1061 100644
--- "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/ObjectModule.bsl"
+++ "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/ObjectModule.bsl"
@@ -1,4 +1,5 @@
-
+Перем КонтекстЯдра;
+
// { Plugin interface
Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт
Результат = Новый Структура;
@@ -10,17 +11,19 @@
КонецФункции
Процедура Инициализация(КонтекстЯдраПараметр) Экспорт
+ УстановитьКонтекстЯдра(КонтекстЯдраПараметр);
КонецПроцедуры
// } Plugin interface
// { Report generator interface
-Функция СоздатьОтчет(КонтекстЯдра, РезультатыТестирования) Экспорт
+Функция СоздатьОтчет(КонтекстЯдраПараметр, РезультатыТестирования) Экспорт
+ УстановитьКонтекстЯдра(КонтекстЯдраПараметр);
ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов");
ЭтотОбъект.ТипыУзловДереваТестов = ПостроительДереваТестов.ТипыУзловДереваТестов;
ЭтотОбъект.ИконкиУзловДереваТестов = ПостроительДереваТестов.ИконкиУзловДереваТестов;
- ЭтотОбъект.СостоянияТестов = КонтекстЯдра.СостоянияТестов;
- Отчет = СоздатьОтчетНаСервере(РезультатыТестирования);
-
+ ЭтотОбъект.СостоянияТестов = КонтекстЯдраПараметр.СостоянияТестов;
+ ЭтотОбъект.СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты");
+ Отчет = СоздатьОтчетНаСервере(РезультатыТестирования);
Возврат Отчет;
КонецФункции
@@ -195,23 +198,23 @@
Функция ПолучитьУникальноеИмяФайла(Знач ИмяФайла)
Файл = Новый Файл(ИмяФайла);
ГУИД = Новый УникальныйИдентификатор;
- ИмяФайла = СтрШаблон("%1-%2-testsuite.xml", ГУИД, Файл.ИмяБезРасширения);
- ИмяФайла = СтрШаблон("%1/%2", Файл.Путь, ИмяФайла);
+ ИмяФайла = СтроковыеУтилиты.СтрШаблон82("%1-%2-testsuite.xml", ГУИД, Файл.ИмяБезРасширения);
+ ИмяФайла = СтроковыеУтилиты.СтрШаблон82("%1/%2", Файл.Путь, ИмяФайла);
Возврат ИмяФайла;
КонецФункции
Процедура ПроверитьИмяФайлаРезультатаAllure(ИмяФайла) Экспорт
Сообщение = "";
Файл = Новый Файл(ИмяФайла);
- Если СтрНайти(Файл.Имя, "-testsuite") = 0 Тогда
- Сообщение = СтрШаблон("%1
+ Если Найти(Файл.Имя, "-testsuite") = 0 Тогда
+ Сообщение = СтроковыеУтилиты.СтрШаблон82("%1
|Файл-результат для Allure должен заканчиваться на ""-testsuite.xml""
|Иначе Allure не покажет результаты тестирования
|А сейчас имя файла %2",
Сообщение, Файл.ПолноеИмя);
КонецЕсли;
Если Файл.Расширение <> ".xml" Тогда
- Сообщение = СтрШаблон("%1
+ Сообщение = СтроковыеУтилиты.СтрШаблон82("%1
|Файл-результат для Allure должен иметь расширение ""xml""
|Иначе Allure не покажет результаты тестирования",
Сообщение);
@@ -292,3 +295,10 @@
КонецФункции
// } Helpers
+
+// { Обратная совместимость с 8.2
+Процедура УстановитьКонтекстЯдра(КонтекстЯдраПараметр)
+ КонтекстЯдра = КонтекстЯдраПараметр;
+ СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты");
+КонецПроцедуры
+// } Обратная совместимость с 8.2
diff --git "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/maps.txt" "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/maps.txt"
index 7f4ab4f7..af02596b 100644
--- "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/maps.txt"
+++ "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/maps.txt"
@@ -1,2 +1,2 @@
-Form\Форма\Форма.bsl-->4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 (50, 144)
+Form\Форма\Форма.bsl-->4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 (29, 123)
Макеты\СхемаAllure.txt-->2d3462c8-c871-442e-81a7-d457064fdf0b.0
diff --git "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a"
index 6a9746fa..505011fb 100644
--- "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a"
+++ "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a"
@@ -4,21 +4,21 @@
{1,
{4,85629dd2-6be4-49c6-9a69-13411102aa57,3fdd55c8-e92e-4f99-8b28-3ba8957b50ab,
{0,
-{1,
+{0,
{0,0,908d0aaf-e4ec-4668-8d14-3e8075d222fd},"ГенераторОтчетаAllureXML",
-{1,"ru","Генератор отчета Allure XML"},"",0,0}
+{1,"ru","Генератор отчета Allure XML"},""}
},4e8e1a4a-a947-419b-95c8-58a411e3ffa4,"",00000000-0000-0000-0000-000000000000},4,
{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0},
{3daea016-69b7-4ed4-9453-127911372fe6,1,2d3462c8-c871-442e-81a7-d457064fdf0b},
{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,4e8e1a4a-a947-419b-95c8-58a411e3ffa4},
-{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,4,
+{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,5,
{
{0,
-{27,
+{25,
{2,
-{1,
+{0,
{0,0,72263b85-e321-40b2-b5dc-368b036f7aaa},"ТипыУзловДереваТестов",
-{1,"ru","Типы узлов дерева тестов"},"",0,0},
+{1,"ru","Типы узлов дерева тестов"},""},
{"Pattern"}
},0,
{0},
@@ -29,15 +29,15 @@
{3,0,0},
{0,0},0,
{0},
-{"S",""},0,0,0}
+{"S",""},0}
},0},
{
{0,
-{27,
+{25,
{2,
-{1,
+{0,
{0,0,23dd7cb5-a648-4588-817a-d77a4106998e},"ИконкиУзловДереваТестов",
-{1,"ru","Иконки узлов дерева тестов"},"",0,0},
+{1,"ru","Иконки узлов дерева тестов"},""},
{"Pattern"}
},0,
{0},
@@ -48,15 +48,15 @@
{3,0,0},
{0,0},0,
{0},
-{"S",""},0,0,0}
+{"S",""},0}
},0},
{
{0,
-{27,
+{25,
{2,
-{1,
+{0,
{0,0,edb4e982-95f6-4760-818c-4bcd498a85aa},"СостоянияТестов",
-{1,"ru","Состояния тестов"},"",0,0},
+{1,"ru","Состояния тестов"},""},
{"Pattern"}
},0,
{0},
@@ -67,15 +67,34 @@
{3,0,0},
{0,0},0,
{0},
-{"S",""},0,0,0}
+{"S",""},0}
},0},
{
{0,
-{27,
+{25,
{2,
-{1,
+{0,
{0,0,7186aaf8-38ee-48a8-99e9-225b1d1f5721},"СтатусыJUnit",
-{1,"ru","Статусы junit"},"",0,0},
+{1,"ru","Статусы junit"},""},
+{"Pattern"}
+},0,
+{0},
+{0},0,"",0,
+{"U"},
+{"U"},0,00000000-0000-0000-0000-000000000000,2,0,
+{5004,0},
+{3,0,0},
+{0,0},0,
+{0},
+{"S",""},0}
+},0},
+{
+{0,
+{25,
+{2,
+{0,
+{0,0,1f50b0cb-7595-48e8-95f8-4aadb08ef3b4},"СтроковыеУтилиты",
+{1,"ru","Строковые утилиты"},""},
{"Pattern"}
},0,
{0},
@@ -86,7 +105,7 @@
{3,0,0},
{0,0},0,
{0},
-{"S",""},0,0,0}
+{"S",""},0}
},0}
}
}
diff --git "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4"
index 554d4f73..e9f6cd91 100644
--- "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4"
+++ "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4"
@@ -1,15 +1,10 @@
{1,
{1,
{0,
-{12,
-{1,
+{9,
+{0,
{0,0,4e8e1a4a-a947-419b-95c8-58a411e3ffa4},"Форма",
-{1,"ru","Форма"},"",0,1,32e087ab-1491-49b6-aba7-43571b41ac2b,3},0,1,
-{2,
-{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,1},
-{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,2}
-}
-},
+{1,"ru","Форма"},""},0,1},
{0}
}
},0}
\ No newline at end of file
diff --git "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0"
index 6db4aa89..870a792e 100644
--- "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0"
+++ "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0"
@@ -1,9 +1,9 @@
-{3,
-{46,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1,
+{2,
+{28,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1,
{1,0},0,0,1,1,1,0,1,0,
-{0,1,0},
+{0},
{0},1,
-{21,
+{17,
{-1,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1,
{0,
{0,
@@ -14,40 +14,19 @@
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},1,
-{0,0,1},0,1,0,0,0,3,3},0,"","",1,
-{21,
+{0,0,1},0,1},0,"","",1,
+{17,
{0},0,0,0,7,"Navigator",
{1,0},
{1,0},0,1,0,0,0,2,2,
{3,4,
{0}
},
-{7,3,0,1,100},
-{0,0,0},0,0,1,0,1,
-{10,
-{0},0,0,0,0,"NavigatorРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},0,3,3},1,"",2,0,0,0,0,0,3,3,0,0,2,100,1,1,0},"
+{6,3,0,1},
+{0,0,0},0,0,1}
+},"
// { Plugin interface
&НаКлиенте
Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт
@@ -106,12 +85,12 @@
// } Report generator interface
&НаКлиенте
-Процедура НачатьЭкспорт(ОбработкаОповещения, Отчет, ПолныйПутьФайла) Экспорт
+//Процедура НачатьЭкспорт(ОбработкаОповещения, Отчет, ПолныйПутьФайла) Экспорт
- Экспортировать(Отчет, ПолныйПутьФайла);
- ВыполнитьОбработкуОповещения(ОбработкаОповещения);
+// Экспортировать(Отчет, ПолныйПутьФайла);
+// ВыполнитьОбработкуОповещения(ОбработкаОповещения);
-КонецПроцедуры
+//КонецПроцедуры
// { Helpers
@@ -121,8 +100,8 @@
Функция ПолучитьУникальноеИмяФайла(Знач ИмяФайла)
Файл = Новый Файл(ИмяФайла);
ГУИД = Новый УникальныйИдентификатор;
- ИмяФайла = СтрШаблон(""%1-%2-testsuite.xml"", ГУИД, Файл.ИмяБезРасширения);
- ИмяФайла = СтрШаблон(""%1/%2"", Файл.Путь, ИмяФайла);
+ ИмяФайла = ЭтотОбъектНаСервере().СтроковыеУтилиты.СтрШаблон82(""%1-%2-testsuite.xml"", ГУИД, Файл.ИмяБезРасширения);
+ ИмяФайла = ЭтотОбъектНаСервере().СтроковыеУтилиты.СтрШаблон82(""%1/%2"", Файл.Путь, ИмяФайла);
Возврат ИмяФайла;
КонецФункции
@@ -173,10 +152,10 @@ Oi8vdjguMWMucnUvOC4xL2RhdGEvdWkiIHhtbG5zOndlYj0iaHR0cDovL3Y4LjFj
LnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93ZWIiIHhtbG5zOndpbj0iaHR0cDovL3Y4
LjFjLnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93aW5kb3dzIiB4bWxuczp4cz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDov
-L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiPg0KCTxvdXRwdXRQ
-YXJhbWV0ZXJzLz4NCjwvU2V0dGluZ3M+}
+L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=}
},
{0,0},
{0,0},
{0,0},
-{0,0},0,0}
\ No newline at end of file
+{0,0}
+}
\ No newline at end of file
diff --git "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/und/version" "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/und/version"
index 421eee79..c23bfe28 100644
--- "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/und/version"
+++ "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/und/version"
@@ -1,5 +1,3 @@
{
-{216,0,
-{80308,0}
-}
+{216,0}
}
\ No newline at end of file
diff --git "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/und/versions" "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/und/versions"
index f63583c5..44dd9b49 100644
--- "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/und/versions"
+++ "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/und/versions"
@@ -1 +1 @@
-{1,11,"",66c7774c-3aaf-4d98-997f-beda27769258,"11c5f751-bfaf-480a-92fe-7f30023f2e9a",80164a6b-29f9-4f36-8cda-456351204ecf,"2d3462c8-c871-442e-81a7-d457064fdf0b",a777db5b-8171-4f65-a213-81d183d088e9,"2d3462c8-c871-442e-81a7-d457064fdf0b.0",2cc75a03-ce85-4589-b2b1-abd5ceb7549e,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4",d6dd6469-2080-4a56-bb89-96403504bd2e,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0",a876ca90-90c8-4cc8-978a-c9dc412cd37a,"908d0aaf-e4ec-4668-8d14-3e8075d222fd.0",e7e11dd3-7d0f-4339-bf1d-797481fa0988,"copyinfo",c8bb8d0d-ffe9-48a4-acc4-349609a4a290,"root",38099556-5e1c-4da5-bf78-be7cc022c41d,"version",e3e43316-5568-4836-afed-4c8979c2b5eb,"versions",41f91086-79e0-4aee-8ac1-39f4d1623029}
\ No newline at end of file
+{1,11,"",104d77b4-4f8e-4554-a53f-bf1c74c2de85,"versions",66763185-6472-4e44-9ee4-37d4fef19f85,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4",81834580-702c-43a1-bf27-575c2df08cc2,"2d3462c8-c871-442e-81a7-d457064fdf0b.0",2cc75a03-ce85-4589-b2b1-abd5ceb7549e,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0",37882cd2-c95a-4ff9-b574-4b27e4d13999,"root",7d287adc-c1a9-48a9-947b-8c0aceca50b6,"908d0aaf-e4ec-4668-8d14-3e8075d222fd.0",a5ebd1ba-6f24-4c59-a290-cac3c6965167,"11c5f751-bfaf-480a-92fe-7f30023f2e9a",a0b5455d-9751-4d15-ab2b-360b96dd6435,"version",14ecb40b-7aa7-4a30-842a-89d294090b95,"2d3462c8-c871-442e-81a7-d457064fdf0b",a777db5b-8171-4f65-a213-81d183d088e9,"copyinfo",25397345-8a46-48b5-acf4-4d8a7f05b149}
\ No newline at end of file
diff --git "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/ObjectModule.bsl" "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/ObjectModule.bsl"
index 4be4b504..3ab2c0f9 100644
--- "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/ObjectModule.bsl"
+++ "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/ObjectModule.bsl"
@@ -76,6 +76,32 @@
#КонецЕсли
Процедура Экспортировать(Отчет, ПолныйПутьФайла) Экспорт
- ВызватьИсключение "Метод не реализован";
+ ФайлОтчета = Новый Файл(ПолныйПутьФайла);
+ Отчет.Записать(ПолныйПутьФайла, ПолучитьТипФайлаПоРасширению(ФайлОтчета.Расширение));
КонецПроцедуры
// } Report generator interface
+
+// { Helpers
+Функция ПолучитьТипФайлаПоРасширению(Знач РасширениеФайла)
+ РасширениеФайла = ВРег(РасширениеФайла);
+ Если РасширениеФайла = ".MXL" Тогда
+ ТипФайла = ТипФайлаТабличногоДокумента.MXL;
+ ИначеЕсли РасширениеФайла = ".ODS" Тогда
+ ТипФайла = ТипФайлаТабличногоДокумента.ODS;
+ ИначеЕсли РасширениеФайла = ".DOCX" Тогда
+ ТипФайла = ТипФайлаТабличногоДокумента.DOCX;
+ ИначеЕсли РасширениеФайла = ".HTML" Или РасширениеФайла = ".HTM" Тогда
+ ТипФайла = ТипФайлаТабличногоДокумента.HTML;
+ ИначеЕсли РасширениеФайла = ".XLS" Тогда
+ ТипФайла = ТипФайлаТабличногоДокумента.XLS;
+ ИначеЕсли РасширениеФайла = ".XLSX" Тогда
+ ТипФайла = ТипФайлаТабличногоДокумента.XLSX;
+ ИначеЕсли РасширениеФайла = ".TXT" Тогда
+ ТипФайла = ТипФайлаТабличногоДокумента.TXT;
+ Иначе
+ ВызватьИсключение "Неизвестное расширение файла отчета: " + РасширениеФайла;
+ КонецЕсли;
+ Возврат ТипФайла;
+КонецФункции
+// } Helpers
+
diff --git "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/und/versions" "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/und/versions"
index 2209dc20..34fc22ac 100644
--- "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/und/versions"
+++ "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/und/versions"
@@ -1 +1 @@
-{1,11,"",ad4da44d-18db-4044-bcb6-26f2c8b7ceb5,"versions",3c865e0a-0b79-4972-8ced-503e27d4890c,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4",fd7e0723-7b45-4de8-9d83-c3bb7f0cc5cf,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0",b7fe60ea-1adf-41eb-9534-0bfa4b7bb079,"root",81927546-aaf0-4fc4-9d3e-4ce804696878,"e723b36e-7faa-4345-bf5b-763f60cd5663",7cc3d945-c911-47a6-87e8-258524a203f0,"908d0aaf-e4ec-4668-8d14-3e8075d222fd.0",9df62da8-0951-4c81-a81f-483ae5a5386e,"11c5f751-bfaf-480a-92fe-7f30023f2e9a",efd8d0f6-a0ad-4d35-91bf-8ad5cac4fc9d,"version",5634d453-9b18-462b-ab56-ee9bb15029a3,"e723b36e-7faa-4345-bf5b-763f60cd5663.0",2883c5af-b7b3-4298-81f7-72c9d2c99e57,"copyinfo",e0ca2c81-33e1-4fdc-a387-a461d9aae2b1}
\ No newline at end of file
+{1,11,"",925c1734-0134-498b-8938-6b3603855b67,"versions",2c14782c-8637-4e30-b6ae-8e50831577e1,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4",6d944bfc-62a8-43fd-9920-27f1c48dc5e5,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0",d8bc217e-ec3f-4662-8f90-30d32baaaab2,"root",c21f8fa3-dacf-4d0b-a28a-5e2114e156b5,"e723b36e-7faa-4345-bf5b-763f60cd5663",050e27b0-d512-4198-bbe8-0f50475d623e,"908d0aaf-e4ec-4668-8d14-3e8075d222fd.0",be2fdd94-765d-4449-97df-5671ebab06db,"11c5f751-bfaf-480a-92fe-7f30023f2e9a",c7f3b7a0-1902-42e5-a2d5-c3fc35cfb027,"version",a0b6866d-fb44-4cdc-b42f-323386759033,"e723b36e-7faa-4345-bf5b-763f60cd5663.0",f12d5434-71cb-470a-9b1b-1453b3dcb8d8,"copyinfo",1c9c62bc-4349-4537-a8fd-e99906ae5314}
\ No newline at end of file
diff --git "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/ObjectModule.bsl" "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/ObjectModule.bsl"
index cd88749f..1e3ecc12 100644
--- "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/ObjectModule.bsl"
+++ "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/ObjectModule.bsl"
@@ -36,11 +36,11 @@
Сообщение = "КодВозврата " + КодВозврата;
ЗафиксироватьВЖурналеРегистрации("xUnitFor1C", Сообщение);
-
- ЗаписьJSON = Новый ЗаписьJSON;
- ЗаписьJSON.ОткрытьФайл(ПутьФайлаКодаВозврата);
- ЗаписьJSON.ЗаписатьЗначение(КодВозврата);
- ЗаписьJSON.Закрыть();
+
+ //ЗаписьJSON = Новый ЗаписьJSON;
+ ЗаписьJSON = КонтекстЯдра.Плагин("JSON");
+ ЗаписатьРезультатВФайлJSON(ЗаписьJSON, ПутьФайлаКодаВозврата, КодВозврата);
+
Исключение
Инфо = ИнформацияОбОшибке();
ОписаниеОшибки = "Ошибка формирования файла статуса возврата при выполнении тестов в пакетном режиме
@@ -58,3 +58,16 @@
Процедура ЗафиксироватьОшибкуВЖурналеРегистрации(Знач ИдентификаторГенератораОтчета, Знач ОписаниеОшибки) Экспорт
ЗаписьЖурналаРегистрации(ИдентификаторГенератораОтчета, УровеньЖурналаРегистрации.Ошибка, , , ОписаниеОшибки);
КонецПроцедуры
+
+Процедура ЗаписатьРезультатВФайлJSON(ЗаписьJSON, ПутьФайлаКодаВозврата, КодВозврата)
+
+ СтрокаJSON = ЗаписьJSON.ЗаписатьJSON(КодВозврата);
+ Текст = Новый ЗаписьТекста(ПутьФайлаКодаВозврата, КодировкаТекста.UTF8);
+ Текст.Записать(СтрокаJSON);
+ Текст.Закрыть();
+
+ //ЗаписьJSON.ОткрытьФайл(ПутьФайлаКодаВозврата);
+ //ЗаписьJSON.ЗаписатьЗначение(КодВозврата);
+ //ЗаписьJSON.Закрыть();
+
+КонецПроцедуры
\ No newline at end of file
diff --git "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/maps.txt" "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/maps.txt"
index 8a24421c..a249fa52 100644
--- "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/maps.txt"
+++ "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/maps.txt"
@@ -1 +1 @@
-Form\Форма\Форма.bsl-->4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 (50, 111)
+Form\Форма\Форма.bsl-->4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 (29, 90)
diff --git "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a"
index 6817655f..03e8e9db 100644
--- "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a"
+++ "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a"
@@ -4,9 +4,9 @@
{1,
{4,85629dd2-6be4-49c6-9a69-13411102aa57,3fdd55c8-e92e-4f99-8b28-3ba8957b50ab,
{0,
-{1,
+{0,
{0,0,908d0aaf-e4ec-4668-8d14-3e8075d222fd},"ГенерацияКодаВозврата",
-{1,"ru","Генерация кода возврата"},"",0,0}
+{1,"ru","Генерация кода возврата"},""}
},4e8e1a4a-a947-419b-95c8-58a411e3ffa4,"",00000000-0000-0000-0000-000000000000},4,
{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0},
{3daea016-69b7-4ed4-9453-127911372fe6,0},
@@ -14,11 +14,11 @@
{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,1,
{
{0,
-{27,
+{25,
{2,
-{1,
+{0,
{0,0,92cdb7a8-5d8a-428c-a6f1-110d04fe678c},"СостоянияТестов",
-{1,"ru","Состояния тестов"},"",0,0},
+{1,"ru","Состояния тестов"},""},
{"Pattern"}
},0,
{0},
@@ -29,7 +29,7 @@
{3,0,0},
{0,0},0,
{0},
-{"S",""},0,0,0}
+{"S",""},0}
},0}
}
}
diff --git "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4"
index 554d4f73..e9f6cd91 100644
--- "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4"
+++ "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4"
@@ -1,15 +1,10 @@
{1,
{1,
{0,
-{12,
-{1,
+{9,
+{0,
{0,0,4e8e1a4a-a947-419b-95c8-58a411e3ffa4},"Форма",
-{1,"ru","Форма"},"",0,1,32e087ab-1491-49b6-aba7-43571b41ac2b,3},0,1,
-{2,
-{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,1},
-{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,2}
-}
-},
+{1,"ru","Форма"},""},0,1},
{0}
}
},0}
\ No newline at end of file
diff --git "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0"
index 347d6e4b..2485cb15 100644
--- "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0"
+++ "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0"
@@ -1,9 +1,9 @@
-{3,
-{46,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1,
+{2,
+{28,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1,
{1,0},0,0,1,1,1,0,1,0,
-{0,1,0},
+{0},
{0},1,
-{21,
+{17,
{-1,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1,
{0,
{0,
@@ -14,40 +14,19 @@
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},1,
-{0,0,1},0,1,0,0,0,3,3},0,"","",1,
-{21,
+{0,0,1},0,1},0,"","",1,
+{17,
{0},0,0,0,7,"Navigator",
{1,0},
{1,0},0,1,0,0,0,2,2,
{3,4,
{0}
},
-{7,3,0,1,100},
-{0,0,0},0,0,1,0,1,
-{10,
-{0},0,0,0,0,"NavigatorРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},0,3,3},1,"",2,0,0,0,0,0,3,3,0,0,2,100,1,1,0},"
+{6,3,0,1},
+{0,0,0},0,0,1}
+},"
// { Plugin interface
&НаКлиенте
Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт
@@ -140,10 +119,10 @@ Oi8vdjguMWMucnUvOC4xL2RhdGEvdWkiIHhtbG5zOndlYj0iaHR0cDovL3Y4LjFj
LnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93ZWIiIHhtbG5zOndpbj0iaHR0cDovL3Y4
LjFjLnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93aW5kb3dzIiB4bWxuczp4cz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDov
-L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiPg0KCTxvdXRwdXRQ
-YXJhbWV0ZXJzLz4NCjwvU2V0dGluZ3M+}
+L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=}
},
{0,0},
{0,0},
{0,0},
-{0,0},0,0}
\ No newline at end of file
+{0,0}
+}
\ No newline at end of file
diff --git "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/und/version" "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/und/version"
index 421eee79..c23bfe28 100644
--- "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/und/version"
+++ "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/und/version"
@@ -1,5 +1,3 @@
{
-{216,0,
-{80308,0}
-}
+{216,0}
}
\ No newline at end of file
diff --git "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/und/versions" "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/und/versions"
index c2942f7d..da25265e 100644
--- "a/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/und/versions"
+++ "b/src/Plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/und/versions"
@@ -1 +1 @@
-{1,9,"",a27ea95f-75fa-49b5-84d0-61d5ae096370,"11c5f751-bfaf-480a-92fe-7f30023f2e9a",739b4fb1-9723-4150-9fb8-b337df5921f4,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4",2994d963-0c28-4350-bd79-9ea89485b518,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0",efc24471-c15d-4df5-909e-487f7966a989,"908d0aaf-e4ec-4668-8d14-3e8075d222fd.0",219056b1-584d-47be-afc1-7852c36cd0ea,"copyinfo",fedc64e3-ae5c-4c3f-85d8-f1fa40d2adf2,"root",2ada20e9-ee03-4491-9a60-85229bde3a02,"version",79fb694b-9965-47b5-a99a-f1845d1d0256,"versions",13e49c6a-e5db-4491-a46d-fd8e44d54a54}
\ No newline at end of file
+{1,9,"",afd87b4c-bee5-416e-9256-bc01ae6162d4,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4",7d2be9dc-9da0-4bee-96e4-79212bc1b233,"versions",ec9b2022-e060-49e7-9f8b-772e4ca15cab,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0",621fa832-d2df-4e9d-a26e-ea68921f7428,"root",b1906165-b65d-46c5-af89-a7afc491a0f9,"908d0aaf-e4ec-4668-8d14-3e8075d222fd.0",d95178ea-2188-4adb-a838-46f9e8163985,"11c5f751-bfaf-480a-92fe-7f30023f2e9a",1a481447-2c8f-4e23-b8df-451a26758088,"version",8c0e3fae-98c0-4160-9db8-5141b2398370,"copyinfo",be53baae-3461-4be6-bad1-def22d56e398}
\ No newline at end of file
diff --git "a/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/ObjectModule.bsl" "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/ObjectModule.bsl"
index a4264f0a..d05188b5 100644
--- "a/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/ObjectModule.bsl"
+++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/ObjectModule.bsl"
@@ -132,7 +132,7 @@
Инфо = ИнформацияОбОшибке();
Если Инфо.ИмяМодуля = "ВнешняяОбработка.ЗагрузчикФайла.МодульОбъекта" И
Инфо.Описание = "Слишком много фактических параметров" И
- СтрНайти(Инфо.ИсходнаяСтрока, "Обработка.ЗаполнитьНаборТестов(ЭтотОбъект, КонтекстЯдра);") > 0
+ Найти(Инфо.ИсходнаяСтрока, "Обработка.ЗаполнитьНаборТестов(ЭтотОбъект, КонтекстЯдра);") > 0
Тогда
Обработка.ЗаполнитьНаборТестов(ЭтотОбъект);
diff --git "a/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/maps.txt" "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/maps.txt"
index db702b94..861bbd48 100644
--- "a/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/maps.txt"
+++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/maps.txt"
@@ -1 +1 @@
-Form\Форма\Форма.bsl-->d75f146d-5027-4604-80fd-3b704ddd86a8.0 (50, 476)
+Form\Форма\Форма.bsl-->d75f146d-5027-4604-80fd-3b704ddd86a8.0 (29, 455)
diff --git "a/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/und/51efd65a-ed36-4be7-a563-89b34ebfa851" "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/und/51efd65a-ed36-4be7-a563-89b34ebfa851"
index 9e39a2bc..5641a961 100644
--- "a/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/und/51efd65a-ed36-4be7-a563-89b34ebfa851"
+++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/und/51efd65a-ed36-4be7-a563-89b34ebfa851"
@@ -4,9 +4,9 @@
{1,
{4,5cce5f28-d8c9-48d6-9f87-928be46d5662,0f2fb654-1692-41fa-b66f-583222be369f,
{0,
-{1,
+{0,
{0,0,dfe532e1-d0ef-4008-afd4-214781ee4960},"ЗагрузчикФайла",
-{1,"ru","Загрузчик файла"},"",0,0}
+{1,"ru","Загрузчик файла"},""}
},d75f146d-5027-4604-80fd-3b704ddd86a8,"",00000000-0000-0000-0000-000000000000},4,
{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0},
{3daea016-69b7-4ed4-9453-127911372fe6,0},
diff --git "a/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/und/d75f146d-5027-4604-80fd-3b704ddd86a8" "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/und/d75f146d-5027-4604-80fd-3b704ddd86a8"
index cb022da1..ad3be4ea 100644
--- "a/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/und/d75f146d-5027-4604-80fd-3b704ddd86a8"
+++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/und/d75f146d-5027-4604-80fd-3b704ddd86a8"
@@ -1,15 +1,10 @@
{1,
{1,
{0,
-{12,
-{1,
+{9,
+{0,
{0,0,d75f146d-5027-4604-80fd-3b704ddd86a8},"Форма",
-{1,"ru","Форма"},"",0,1,32e087ab-1491-49b6-aba7-43571b41ac2b,3},0,1,
-{2,
-{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,1},
-{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,2}
-}
-},
+{1,"ru","Форма"},""},0,1},
{0}
}
},0}
\ No newline at end of file
diff --git "a/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/und/d75f146d-5027-4604-80fd-3b704ddd86a8.0" "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/und/d75f146d-5027-4604-80fd-3b704ddd86a8.0"
index 6f15732c..c354788a 100644
--- "a/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/und/d75f146d-5027-4604-80fd-3b704ddd86a8.0"
+++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/und/d75f146d-5027-4604-80fd-3b704ddd86a8.0"
@@ -1,9 +1,9 @@
-{3,
-{46,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1,
+{2,
+{28,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1,
{1,0},0,0,1,1,1,0,1,0,
-{0,1,0},
+{0},
{0},1,
-{21,
+{17,
{-1,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1,
{0,
{0,
@@ -14,40 +14,19 @@
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},1,
-{0,0,1},0,1,0,0,0,3,3},0,"","",1,
-{21,
+{0,0,1},0,1},0,"","",1,
+{17,
{0},0,0,0,7,"Navigator",
{1,0},
{1,0},0,1,0,0,0,2,2,
{3,4,
{0}
},
-{7,3,0,1,100},
-{0,0,0},0,0,1,0,1,
-{10,
-{0},0,0,0,0,"NavigatorРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},0,3,3},1,"",2,0,0,0,0,0,3,3,0,0,2,100,1,1,0},"&НаКлиенте
+{6,3,0,1},
+{0,0,0},0,0,1}
+},"&НаКлиенте
Перем КэшПостроительДереваТестов;
&НаКлиенте
Перем ЗагружаемыйПуть;
@@ -526,10 +505,10 @@ Oi8vdjguMWMucnUvOC4xL2RhdGEvdWkiIHhtbG5zOndlYj0iaHR0cDovL3Y4LjFj
LnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93ZWIiIHhtbG5zOndpbj0iaHR0cDovL3Y4
LjFjLnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93aW5kb3dzIiB4bWxuczp4cz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDov
-L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiPg0KCTxvdXRwdXRQ
-YXJhbWV0ZXJzLz4NCjwvU2V0dGluZ3M+}
+L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=}
},
{0,0},
{0,0},
{0,0},
-{0,0},0,0}
\ No newline at end of file
+{0,0}
+}
\ No newline at end of file
diff --git "a/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/und/version" "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/und/version"
index 421eee79..c23bfe28 100644
--- "a/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/und/version"
+++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/und/version"
@@ -1,5 +1,3 @@
{
-{216,0,
-{80308,0}
-}
+{216,0}
}
\ No newline at end of file
diff --git "a/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/und/versions" "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/und/versions"
index dd87c5fb..66222fba 100644
--- "a/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/und/versions"
+++ "b/src/Plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/und/versions"
@@ -1 +1 @@
-{1,9,"",8166408f-4159-4e2b-9781-2d591673955c,"51efd65a-ed36-4be7-a563-89b34ebfa851",aa5965af-4229-4bbe-b205-090baded4def,"copyinfo",a2e3eb0b-0020-47ab-ad3d-4a2d481c4930,"d75f146d-5027-4604-80fd-3b704ddd86a8",3d1dd6a8-9cce-40fd-ac47-2fb03a6d359f,"d75f146d-5027-4604-80fd-3b704ddd86a8.0",06306db7-53d9-4399-ba5b-df74053ccdb3,"dfe532e1-d0ef-4008-afd4-214781ee4960.0",3a46fc39-ff5b-4c85-8cdc-989a5b0e6fcb,"root",4d97ec92-f9c5-4e9e-b11c-dc73ed1a5dc7,"version",1e8c5a76-64cc-49c6-b5e3-648fcce003d9,"versions",394b2e82-e841-4627-863c-c710af5699c5}
\ No newline at end of file
+{1,9,"",311ba90b-4f17-437b-971f-4a952939ed6a,"versions",d4699b2b-310b-4f04-a806-eadfea9f4d6a,"root",2cd21cc4-2257-4a5c-b7b6-aa36830ca82a,"51efd65a-ed36-4be7-a563-89b34ebfa851",fb7798e6-0ce7-40a6-9611-ae52c97fe7ff,"dfe532e1-d0ef-4008-afd4-214781ee4960.0",c08deae5-6940-4d2d-821f-e0d2213b00a9,"d75f146d-5027-4604-80fd-3b704ddd86a8",ac0c3f73-fc2b-42d3-a46e-b72626957f5e,"version",f7debc6e-fa0a-4acb-bfa0-761d1e2b14f1,"copyinfo",73801158-73ea-41fd-83f4-de874f8c4b07,"d75f146d-5027-4604-80fd-3b704ddd86a8.0",a276df7c-cdf7-4b03-8098-119afdc269ab}
\ No newline at end of file
diff --git "a/src/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/ObjectModule.bsl" "b/src/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/ObjectModule.bsl"
index f00aa3e8..89a00be6 100644
--- "a/src/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/ObjectModule.bsl"
+++ "b/src/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/ObjectModule.bsl"
@@ -1,4 +1,7 @@
//TODO раскомментировать утверждения во всех методах после решения Архитектура взаимодействия плагинов/утилит между собой #568 https://github.com/xDrivenDevelopment/xUnitFor1C/issues/568
+Перем КонтекстЯдра;
+Перем СтроковыеУтилиты;
+
// { Plugin interface
Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт
@@ -11,9 +14,15 @@
КонецФункции
Процедура Инициализация(КонтекстЯдраПараметр) Экспорт
+ УстановитьКонтекстЯдра(КонтекстЯдраПараметр);
КонецПроцедуры
// } Plugin interface
+Процедура УстановитьКонтекстЯдра(КонтекстЯдраПараметр)
+ КонтекстЯдра = КонтекстЯдраПараметр;
+ СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты");
+КонецПроцедуры
+
//{ Методы работы с БД
// Функция - Получить количество документов по отбору
@@ -345,7 +354,7 @@
//ПроверитьЗаполненность(видМетаданного, "видМетаданного");
Запрос = Новый Запрос;
- Запрос.Текст = СтрШаблон("ВЫБРАТЬ ПЕРВЫЕ %3
+ Запрос.Текст = СтроковыеУтилиты.СтрШаблон82("ВЫБРАТЬ ПЕРВЫЕ %3
| *
|ИЗ
| %1.%2 КАК Таб
diff --git "a/src/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/maps.txt" "b/src/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/maps.txt"
index 5accc601..4ba753df 100644
--- "a/src/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/maps.txt"
+++ "b/src/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/maps.txt"
@@ -1 +1 @@
-Form\Форма\Форма.bsl-->4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 (50, 69)
+Form\Форма\Форма.bsl-->4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 (29, 48)
diff --git "a/src/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" "b/src/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a"
index 159373a3..d1ec5da4 100644
--- "a/src/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a"
+++ "b/src/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a"
@@ -4,9 +4,9 @@
{1,
{4,85629dd2-6be4-49c6-9a69-13411102aa57,3fdd55c8-e92e-4f99-8b28-3ba8957b50ab,
{0,
-{1,
+{0,
{0,0,908d0aaf-e4ec-4668-8d14-3e8075d222fd},"ЗапросыИзБД",
-{1,"ru","Запросы из БД"},"",0,0}
+{1,"ru","Запросы из БД"},""}
},4e8e1a4a-a947-419b-95c8-58a411e3ffa4,"",00000000-0000-0000-0000-000000000000},4,
{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0},
{3daea016-69b7-4ed4-9453-127911372fe6,0},
diff --git "a/src/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" "b/src/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4"
index 554d4f73..e9f6cd91 100644
--- "a/src/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4"
+++ "b/src/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4"
@@ -1,15 +1,10 @@
{1,
{1,
{0,
-{12,
-{1,
+{9,
+{0,
{0,0,4e8e1a4a-a947-419b-95c8-58a411e3ffa4},"Форма",
-{1,"ru","Форма"},"",0,1,32e087ab-1491-49b6-aba7-43571b41ac2b,3},0,1,
-{2,
-{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,1},
-{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,2}
-}
-},
+{1,"ru","Форма"},""},0,1},
{0}
}
},0}
\ No newline at end of file
diff --git "a/src/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" "b/src/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0"
index 2874b88c..305af89b 100644
--- "a/src/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0"
+++ "b/src/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0"
@@ -1,9 +1,9 @@
-{3,
-{46,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1,
+{2,
+{28,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1,
{1,0},0,0,1,1,1,0,1,0,
-{0,1,0},
+{0},
{0},1,
-{21,
+{17,
{-1,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1,
{0,
{0,
@@ -14,40 +14,19 @@
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},1,
-{0,0,1},0,1,0,0,0,3,3},0,"","",1,
-{21,
+{0,0,1},0,1},0,"","",1,
+{17,
{0},0,0,0,7,"Navigator",
{1,0},
{1,0},0,1,0,0,0,2,2,
{3,4,
{0}
},
-{7,3,0,1,100},
-{0,0,0},0,0,1,0,1,
-{10,
-{0},0,0,0,0,"NavigatorРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},0,3,3},1,"",2,0,0,0,0,0,3,3,0,0,2,100,1,1,0},"
+{6,3,0,1},
+{0,0,0},0,0,1}
+},"
// { Plugin interface
&НаКлиенте
Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт
@@ -98,10 +77,10 @@ Oi8vdjguMWMucnUvOC4xL2RhdGEvdWkiIHhtbG5zOndlYj0iaHR0cDovL3Y4LjFj
LnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93ZWIiIHhtbG5zOndpbj0iaHR0cDovL3Y4
LjFjLnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93aW5kb3dzIiB4bWxuczp4cz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDov
-L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiPg0KCTxvdXRwdXRQ
-YXJhbWV0ZXJzLz4NCjwvU2V0dGluZ3M+}
+L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=}
},
{0,0},
{0,0},
{0,0},
-{0,0},0,0}
\ No newline at end of file
+{0,0}
+}
\ No newline at end of file
diff --git "a/src/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/und/version" "b/src/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/und/version"
index e28c2640..c23bfe28 100644
--- "a/src/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/und/version"
+++ "b/src/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/und/version"
@@ -1,5 +1,3 @@
{
-{216,0,
-{80310,0}
-}
+{216,0}
}
\ No newline at end of file
diff --git "a/src/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/und/versions" "b/src/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/und/versions"
index 39463ce0..0f38d299 100644
--- "a/src/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/und/versions"
+++ "b/src/Plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/und/versions"
@@ -1 +1 @@
-{1,9,"",834ed259-592d-458d-bc05-1a296ab4ad46,"11c5f751-bfaf-480a-92fe-7f30023f2e9a",1018dc0a-d682-4971-ab8c-0eb0061f2171,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4",5ce621db-cda0-4f9c-bebc-72259fc012e8,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0",c7647e2d-5ccf-4bd6-ae59-34b1645caec3,"908d0aaf-e4ec-4668-8d14-3e8075d222fd.0",68709219-5287-4982-971d-fd3e4ac475d8,"copyinfo",51f93d9a-6649-4f42-bf71-c907f672b634,"root",237fdaed-362b-4098-be25-92caf4329f25,"version",f4541ec0-fb94-4443-963d-ab8556f0248f,"versions",2826abc0-e039-4e46-a287-5c5ba6a560cb}
\ No newline at end of file
+{1,9,"",5461a69e-670b-403c-b686-ef127774e794,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4",8718fd86-b11b-47f0-a5f8-ac04b44e039d,"versions",5b61562d-c6eb-40b8-8346-25c120682f5f,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0",e6aef681-f470-44d6-99cc-6829e1198a93,"root",6416474f-f206-4bc7-a391-ae2f5fcd6f27,"908d0aaf-e4ec-4668-8d14-3e8075d222fd.0",1184ba2f-2fd4-4a0f-9b2e-66fdd8107e46,"11c5f751-bfaf-480a-92fe-7f30023f2e9a",e0637d7b-1862-4868-aa88-5a431b58fe72,"version",9ca4ed64-2263-48e6-b346-52727113a8c1,"copyinfo",c829b170-beb0-44f3-9fd3-a15a5c2c8540}
\ No newline at end of file
diff --git "a/src/Plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/ObjectModule.bsl" "b/src/Plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/ObjectModule.bsl"
index 8cc483ed..87304f34 100644
--- "a/src/Plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/ObjectModule.bsl"
+++ "b/src/Plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/ObjectModule.bsl"
@@ -78,10 +78,12 @@
Результат = Новый Структура();
ФайлНастроек = Новый Файл(ПутьФайлаНастроек);
Если ФайлНастроек.Существует() Тогда
- ЧтениеJSON = Новый ЧтениеJSON;
- ЧтениеJSON.ОткрытьФайл(ПутьФайлаНастроек);
-
- Результат = ПрочитатьJSON(ЧтениеJSON, Ложь);
+ ЧтениеТекста = Новый ЧтениеТекста;
+ ЧтениеТекста.Открыть(ПутьФайлаНастроек, КодировкаТекста.UTF8);
+ JSON = КонтекстЯдра.Плагин("JSON");
+ JSON.НастройкаАвтоматическоеПриведениеОбъектаКСтруктуре(Истина);
+ Результат = JSON.Прочитать(ЧтениеТекста.Прочитать());
КонецЕсли;
Возврат Результат;
КонецФункции
+
\ No newline at end of file
diff --git "a/src/Plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/und/version" "b/src/Plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/und/version"
index 421eee79..57cc6067 100644
--- "a/src/Plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/und/version"
+++ "b/src/Plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/und/version"
@@ -1,5 +1,5 @@
{
{216,0,
-{80308,0}
+{80214,0}
}
}
\ No newline at end of file
diff --git "a/src/Plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/und/versions" "b/src/Plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/und/versions"
index 483f55dc..c941798a 100644
--- "a/src/Plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/und/versions"
+++ "b/src/Plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/und/versions"
@@ -1 +1 @@
-{1,9,"",62cd83ed-088c-4815-b3c2-f5805a8be792,"11c5f751-bfaf-480a-92fe-7f30023f2e9a",2ab0f480-9aff-4781-95ab-41fb2654ccac,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4",9364a34f-bd13-4a02-bcc7-114d77d8dead,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0",90559879-20ad-422a-bf11-2829ef124e79,"908d0aaf-e4ec-4668-8d14-3e8075d222fd.0",6bd62cd7-a9f7-42da-b3de-a3a4dbd8044f,"copyinfo",712a02f0-cead-4b02-b008-d26e4bec7a4a,"root",e59752bc-9011-42f7-840e-84765a4a6d33,"version",59fb6960-227d-4a16-9416-d3da3a59c008,"versions",5cad96d2-7b9e-4682-8c7c-126398c4f9db}
\ No newline at end of file
+{1,9,"",aa294fb4-466c-40aa-8c9e-de8d86ec51ed,"11c5f751-bfaf-480a-92fe-7f30023f2e9a",ea0420f2-b3bf-463a-8c37-a9b096e88829,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4",0f886c8c-2d13-4b53-82e1-cb061c05b65b,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0",2198dd3e-87ea-4e73-86e9-b7aba98fcdd5,"908d0aaf-e4ec-4668-8d14-3e8075d222fd.0",56ec6728-4386-4dd6-905f-7c0da89f300d,"copyinfo",a08f56b1-8017-4c80-bf7d-053b97b0191b,"root",eff390f9-8a6f-4861-a19a-060872cb6248,"version",0092cde8-89e1-4a9e-b1a7-5cf99a9df4d5,"versions",54b23f42-7145-463c-8cfc-e9dad7b5e0df}
\ No newline at end of file
diff --git "a/src/Plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" "b/src/Plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl"
index b8115f77..0076e448 100644
--- "a/src/Plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl"
+++ "b/src/Plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl"
@@ -1263,6 +1263,36 @@
КонецФункции
+Функция СтрШаблон82(Стр, П1, П2=Неопределено, П3=Неопределено, П4=Неопределено, П5=Неопределено, П6=Неопределено, П7=Неопределено, П8=Неопределено, П9=Неопределено) Экспорт
+
+ МассивАргументов = Новый Массив;
+ МассивАргументов.Добавить(П1);
+ МассивАргументов.Добавить(П2);
+ МассивАргументов.Добавить(П3);
+ МассивАргументов.Добавить(П4);
+ МассивАргументов.Добавить(П5);
+ МассивАргументов.Добавить(П6);
+ МассивАргументов.Добавить(П7);
+ МассивАргументов.Добавить(П8);
+ МассивАргументов.Добавить(П9);
+
+ Результат = Стр;
+
+ Количество = МассивАргументов.Количество();
+ Для ПорядковыйНомер = 1 По Количество Цикл
+ ТекущееЗначение = МассивАргументов[ПорядковыйНомер - 1];
+ Если ТекущееЗначение = Неопределено И ПорядковыйНомер > 1 Тогда
+ Прервать;
+ ИначеЕсли ТекущееЗначение = Неопределено Тогда
+ ТекущееЗначение = "";
+ КонецЕсли;
+ Результат = СтрЗаменить(Результат, "%" + ПорядковыйНомер, ТекущееЗначение);
+ КонецЦикла;
+
+ Возврат Результат;
+
+КонецФункции
+
// } Функции работы со строками
diff --git "a/src/Plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/ObjectModule.bsl" "b/src/Plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/ObjectModule.bsl"
index 9fa2ab21..9dbce8c5 100644
--- "a/src/Plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/ObjectModule.bsl"
+++ "b/src/Plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/ObjectModule.bsl"
@@ -1236,4 +1236,35 @@
КонецФункции
+Функция СтрШаблон82(Стр, П1, П2=Неопределено, П3=Неопределено, П4=Неопределено, П5=Неопределено, П6=Неопределено, П7=Неопределено, П8=Неопределено, П9=Неопределено) Экспорт
+
+ МассивАргументов = Новый Массив;
+ МассивАргументов.Добавить(П1);
+ МассивАргументов.Добавить(П2);
+ МассивАргументов.Добавить(П3);
+ МассивАргументов.Добавить(П4);
+ МассивАргументов.Добавить(П5);
+ МассивАргументов.Добавить(П6);
+ МассивАргументов.Добавить(П7);
+ МассивАргументов.Добавить(П8);
+ МассивАргументов.Добавить(П9);
+
+ Результат = Стр;
+
+ Количество = МассивАргументов.Количество();
+ Для ПорядковыйНомер = 1 По Количество Цикл
+ ТекущееЗначение = МассивАргументов[ПорядковыйНомер - 1];
+ Если ТекущееЗначение = Неопределено И ПорядковыйНомер > 1 Тогда
+ Прервать;
+ ИначеЕсли ТекущееЗначение = Неопределено Тогда
+ ТекущееЗначение = "";
+ КонецЕсли;
+ Результат = СтрЗаменить(Результат, "%" + ПорядковыйНомер, ТекущееЗначение);
+ КонецЦикла;
+
+ Возврат Результат;
+
+КонецФункции
+
+
// } Функции работы со строками
diff --git "a/src/Plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/maps.txt" "b/src/Plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/maps.txt"
index a775f08f..7e8b837d 100644
--- "a/src/Plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/maps.txt"
+++ "b/src/Plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/maps.txt"
@@ -1 +1 @@
-Form\Форма\Форма.bsl-->4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 (29, 1 303)
+Form\Форма\Форма.bsl-->4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 (29, 1 333)
diff --git "a/src/Plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" "b/src/Plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0"
index 4fd57611..2e1806a5 100644
--- "a/src/Plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0"
+++ "b/src/Plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0"
@@ -1291,6 +1291,36 @@
КонецФункции
+Функция СтрШаблон82(Стр, П1, П2=Неопределено, П3=Неопределено, П4=Неопределено, П5=Неопределено, П6=Неопределено, П7=Неопределено, П8=Неопределено, П9=Неопределено) Экспорт
+
+ МассивАргументов = Новый Массив;
+ МассивАргументов.Добавить(П1);
+ МассивАргументов.Добавить(П2);
+ МассивАргументов.Добавить(П3);
+ МассивАргументов.Добавить(П4);
+ МассивАргументов.Добавить(П5);
+ МассивАргументов.Добавить(П6);
+ МассивАргументов.Добавить(П7);
+ МассивАргументов.Добавить(П8);
+ МассивАргументов.Добавить(П9);
+
+ Результат = Стр;
+
+ Количество = МассивАргументов.Количество();
+ Для ПорядковыйНомер = 1 По Количество Цикл
+ ТекущееЗначение = МассивАргументов[ПорядковыйНомер - 1];
+ Если ТекущееЗначение = Неопределено И ПорядковыйНомер > 1 Тогда
+ Прервать;
+ ИначеЕсли ТекущееЗначение = Неопределено Тогда
+ ТекущееЗначение = """";
+ КонецЕсли;
+ Результат = СтрЗаменить(Результат, ""%"" + ПорядковыйНомер, ТекущееЗначение);
+ КонецЦикла;
+
+ Возврат Результат;
+
+КонецФункции
+
// } Функции работы со строками
diff --git "a/src/Plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/und/versions" "b/src/Plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/und/versions"
index 52319eca..9173b619 100644
--- "a/src/Plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/und/versions"
+++ "b/src/Plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/und/versions"
@@ -1 +1 @@
-{1,9,"",3ebcaa72-61c4-46de-8266-b33c509cf050,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4",8df57634-d49d-45a7-875a-319f0f968671,"versions",c4ebc6a3-5a5d-4427-9ba3-13c1488d9be6,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0",53363859-01be-436b-83db-802203b8954e,"root",cd3cad6d-3c2c-41b2-990c-9921028dd36c,"908d0aaf-e4ec-4668-8d14-3e8075d222fd.0",07a248e5-efdd-400b-902c-81db9729a488,"11c5f751-bfaf-480a-92fe-7f30023f2e9a",c22a57d4-972d-41d2-a07d-9b67fc7fe247,"version",75ada833-6944-48f6-ad28-1eba3858c509,"copyinfo",bd85c7cc-b28b-4937-84b0-c0a761819569}
\ No newline at end of file
+{1,9,"",e93fa260-05ca-4482-ae89-56244f5750b6,"versions",bf5618c4-526b-49d1-9430-502011a8d4b6,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4",04095b0b-29d2-4e74-af81-e8f7fc7a3409,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0",b86ff9dc-3e25-4bb0-8141-9116f77e4249,"root",09a72ffc-5d44-4811-9244-2eaeb3dbe6eb,"908d0aaf-e4ec-4668-8d14-3e8075d222fd.0",114ce81b-b400-4bbe-baee-e8af58fb7a95,"11c5f751-bfaf-480a-92fe-7f30023f2e9a",8ace3a93-b641-4ff4-9410-9fff09059a0d,"version",28f90475-4776-48ba-aeb0-02e68dfd27c7,"copyinfo",a6478ebb-dd5b-4cbc-8e3e-40c474fd57b1}
\ No newline at end of file
diff --git "a/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\321\203\321\201\320\272\320\222\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\274\320\240\320\265\320\266\320\270\320\274\320\265/ObjectModule.bsl" "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\321\203\321\201\320\272\320\222\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\274\320\240\320\265\320\266\320\270\320\274\320\265/ObjectModule.bsl"
index 35231dcd..557f137e 100644
--- "a/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\321\203\321\201\320\272\320\222\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\274\320\240\320\265\320\266\320\270\320\274\320\265/ObjectModule.bsl"
+++ "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\321\203\321\201\320\272\320\222\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\274\320\240\320\265\320\266\320\270\320\274\320\265/ObjectModule.bsl"
@@ -8,6 +8,8 @@
Перем ФайлСОтчетомОТестировании2;
Перем ФайлКодаВозврата;
+Перем СтроковыеУтилиты;
+
// Переменная с путем к обработке в файловой системы
// Используется в случаях, когда обработка запущена из встроенного в конфигурацию браузера тестов,
// т.к. в этом случае в свойстве ИспользуемоеИмяФайла содержится адрес временного хранилища, а не непосредственный путь
@@ -17,6 +19,7 @@
КонтекстЯдра = КонтекстЯдраПараметр;
Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD");
ПарсерКоманднойСтроки = КонтекстЯдра.Плагин("ПарсерКоманднойСтроки");
+ СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты");
КонецПроцедуры
Функция ПолучитьСписокТестов() Экспорт
@@ -112,7 +115,6 @@
+ ?(ИдентификаторГенератораОтчета2 = "", "", " ; " + ПарсерКоманднойСтроки.ВозможныеКлючи.xddReport + " " + ИдентификаторГенератораОтчета2 + " """"" + ФайлСОтчетомОТестировании2.ПолноеИмя + """""")
+ "; " + ПарсерКоманднойСтроки.ВозможныеКлючи.xddExitCodePath + " ГенерацияКодаВозврата """"" + ФайлКодаВозврата.ПолноеИмя + """""" + ";"
;
-
Возврат СтрокаПараметров;
КонецФункции
@@ -234,18 +236,42 @@
ВыполнитьПакетныйЗапуск(РежимЗапускаКлиентскогоПриложения.ОбычноеПриложение, СтрокаПараметров);
Ожидаем.Что(ФайлЛогаUI.Существует(), "ФайлЛогаUI").ЭтоИстина();
- Ожидаем.Что(ФайлСОтчетомОТестировании.Существует(), "ФайлСОтчетомОТестировании").ЭтоИстина();
- Ожидаем.Что(ФайлСОтчетомОТестировании2.Существует(), "ФайлСОтчетомОТестировании2").ЭтоИстина();
+ Ожидаем.Что(ФайлСОтчетомОТестировании.Существует(), "ФайлСОтчетомОТестировании не существует").ЭтоИстина();
+
+ ФайлСОтчетомОТестировании2Существует = СуществуетФайлОтчетаAllure(
+ ФайлСОтчетомОТестировании2.Путь,
+ ФайлСОтчетомОТестировании2.ИмяБезРасширения
+ );
+ Ожидаем.Что(ФайлСОтчетомОТестировании2Существует, "ФайлСОтчетомОТестировании2 не существует").ЭтоИстина();
+
Ожидаем.Что(ФайлКодаВозврата.Существует(), "ФайлКодаВозврата не существует").ЭтоИстина();
КонецПроцедуры
+Функция СуществуетФайлОтчетаAllure(Путь, ИмяБезРасширения)
+
+ ШаблонИмениФайла = "*-" + ИмяБезРасширения + "-testsuite.xml";
+
+ НайденныеФайлы = НайтиФайлы(Путь, ШаблонИмениФайла, Ложь);
+ Если НайденныеФайлы.Количество() Тогда
+ Возврат Истина;
+ КонецЕсли;
+
+ Возврат Ложь;
+
+КонецФункции
+
Процедура ТестДолжен_ПроверитьЗапускВПакетномРежиме_ТонкийКлиент_ДваОтчетаТестирования() Экспорт
ФайлСТестами = ПолучитьФайлПроекта("Tests\Core\Тесты_СистемаПлагинов.epf");
СтрокаПараметров = СформироватьСтрокуПараметров("ЗагрузчикФайла", ФайлСТестами, "ГенераторОтчетаJUnitXML", "ГенераторОтчетаAllureXML");
ВыполнитьПакетныйЗапуск(РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение, СтрокаПараметров);
- Ожидаем.Что(ФайлСОтчетомОТестировании.Существует(), "ФайлСОтчетомОТестировании существует").ЭтоИстина();
+ ФайлСОтчетомОТестировании2Существует = СуществуетФайлОтчетаAllure(
+ ФайлСОтчетомОТестировании2.Путь,
+ ФайлСОтчетомОТестировании2.ИмяБезРасширения
+ );
+ Ожидаем.Что(ФайлСОтчетомОТестировании2Существует, "ФайлСОтчетомОТестировании2 не существует").ЭтоИстина();
+
Ожидаем.Что(ФайлКодаВозврата.Существует(), "ФайлКодаВозврата не существует").ЭтоИстина();
КонецПроцедуры
@@ -329,7 +355,7 @@
Если КоличествоУпавшихТестов <> ОжидаемоеКоличествоУпавшихТестов или КоличествоЗеленыхТестов <> ОжидаемоеКоличествоЗеленыхТестов Тогда
Для каждого КлючЗначение Из РезультатыТестирования.УпавшиеТесты Цикл
УпавшийТест = КлючЗначение.Значение;
- Сообщить(СтрШаблон("Упал тест <%1>, ошибка %2%3", УпавшийТест.Имя, Символы.ПС, УпавшийТест.ТекстОшибки));
+ Сообщить(СтроковыеУтилиты.СтрШаблон82("Упал тест <%1>, ошибка %2%3", УпавшийТест.Имя, Символы.ПС, УпавшийТест.ТекстОшибки));
КонецЦикла;
КонецЕсли;
diff --git "a/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\321\203\321\201\320\272\320\222\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\274\320\240\320\265\320\266\320\270\320\274\320\265/und/0782d8f3-61cb-4919-b6a8-2392febc953a" "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\321\203\321\201\320\272\320\222\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\274\320\240\320\265\320\266\320\270\320\274\320\265/und/0782d8f3-61cb-4919-b6a8-2392febc953a"
index 0effe163..629865af 100644
--- "a/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\321\203\321\201\320\272\320\222\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\274\320\240\320\265\320\266\320\270\320\274\320\265/und/0782d8f3-61cb-4919-b6a8-2392febc953a"
+++ "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\321\203\321\201\320\272\320\222\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\274\320\240\320\265\320\266\320\270\320\274\320\265/und/0782d8f3-61cb-4919-b6a8-2392febc953a"
@@ -4,9 +4,9 @@
{1,
{4,833ef829-c54d-4515-878c-9d8f6f76de0f,50a676e6-6bdd-4af2-b7fa-06f872323517,
{0,
-{1,
+{0,
{0,0,7ecade93-aad4-4a6e-bf69-9254664a2793},"Тесты_ЗапускВПакетномРежиме",
-{1,"ru","Тесты запуск в пакетном режиме"},"",0,0}
+{1,"ru","Тесты запуск в пакетном режиме"},""}
},00000000-0000-0000-0000-000000000000,"",00000000-0000-0000-0000-000000000000},4,
{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0},
{3daea016-69b7-4ed4-9453-127911372fe6,0},
diff --git "a/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\321\203\321\201\320\272\320\222\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\274\320\240\320\265\320\266\320\270\320\274\320\265/und/version" "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\321\203\321\201\320\272\320\222\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\274\320\240\320\265\320\266\320\270\320\274\320\265/und/version"
index 421eee79..c23bfe28 100644
--- "a/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\321\203\321\201\320\272\320\222\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\274\320\240\320\265\320\266\320\270\320\274\320\265/und/version"
+++ "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\321\203\321\201\320\272\320\222\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\274\320\240\320\265\320\266\320\270\320\274\320\265/und/version"
@@ -1,5 +1,3 @@
{
-{216,0,
-{80308,0}
-}
+{216,0}
}
\ No newline at end of file
diff --git "a/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\321\203\321\201\320\272\320\222\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\274\320\240\320\265\320\266\320\270\320\274\320\265/und/versions" "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\321\203\321\201\320\272\320\222\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\274\320\240\320\265\320\266\320\270\320\274\320\265/und/versions"
index f9370178..915795c0 100644
--- "a/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\321\203\321\201\320\272\320\222\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\274\320\240\320\265\320\266\320\270\320\274\320\265/und/versions"
+++ "b/src/Tests/Core/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\321\203\321\201\320\272\320\222\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\274\320\240\320\265\320\266\320\270\320\274\320\265/und/versions"
@@ -1 +1 @@
-{1,7,"",5041abbc-b1f2-45a4-a2a4-295a0e8dc5eb,"0782d8f3-61cb-4919-b6a8-2392febc953a",5e7ca426-2a7a-4348-82ed-be6e89108742,"7ecade93-aad4-4a6e-bf69-9254664a2793.0",044a9ab1-5a18-4694-b6bc-55c5c117bd9e,"copyinfo",280faed5-6b15-41df-8e95-e9422612d146,"root",b5d0f5e9-d825-4ba2-9e09-1bf69c2e88c3,"version",fe42c975-2c43-48e4-b130-d74c56ab6bde,"versions",5dd69500-c660-46d9-9e55-3af82883155f}
\ No newline at end of file
+{1,7,"",28802349-e736-46ea-b8b2-ec4864013146,"root",7f6b083a-7614-4f81-b8f4-a768259c227f,"0782d8f3-61cb-4919-b6a8-2392febc953a",d522ef3c-0474-4871-b8bc-32491ca6d234,"versions",96e144c2-1b99-4b86-80a7-b92aeb32c8b2,"copyinfo",83e138aa-a37c-491c-9d23-fbcfa3de8a87,"7ecade93-aad4-4a6e-bf69-9254664a2793.0",73a32dc5-9c77-498f-bd81-b47c8d2db905,"version",821e7131-e207-40d6-837f-37ce6098aacd}
\ No newline at end of file
diff --git "a/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Form/\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\320\265\320\244\320\276\321\200\320\274/form" "b/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Form/\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\320\265\320\244\320\276\321\200\320\274/form"
index 391b59f6..14225fa3 100644
--- "a/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Form/\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\320\265\320\244\320\276\321\200\320\274/form"
+++ "b/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Form/\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\320\265\320\244\320\276\321\200\320\274/form"
@@ -1,5 +1,5 @@
{27,
-{18,
+{16,
{
{1,1,
{"ru","Получение формы"}
@@ -7,14 +7,14 @@
{09ccdc77-ea1a-4a6d-ab1c-3435eada2433,
{1,
{
-{15,1,
+{10,1,
{3,4,
{0}
},
{3,4,
{0}
},
-{7,3,0,1,100},0,
+{6,3,0,1},0,
{3,3,
{-22}
},
@@ -32,45 +32,30 @@
},
{3,0,
{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e},
-{1,0},0,0,100,0},25,0,0,0,0,0,0,
-{7,1,
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},100,0,0},0,1,
+{1,0}
+},21,0,0,0,0,0,0,
+{3,1,
+{3,0,
+{0},"",-1,-1,1,0}
+},0,1,
{1,1,
-{4,
+{3,
{1,1,
{"ru","Страница1"}
},
-{7,0,
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},100,2,0},-1,1,1,"Страница1",1,
-{3,4,
-{0}
-},
-{3,4,
-{0}
-}
-}
+{3,0,
+{3,0,
+{0},"",-1,-1,1,0}
+},-1,1,1,"Страница1",1}
},1,1,0,4,
{2,8,1,1,1,0,0,0,0},
{2,8,0,1,2,0,0,0,0},
{2,258,1,1,3,0,0,8,0},
-{2,126,0,1,4,0,0,8,0},0,4294967295,5,64,0,
-{3,4,
-{0}
-},0,0,57,0},
+{2,126,0,1,4,0,0,8,0},0,4294967295,5,64,0},
{0}
},
{0}
-},266,134,1,0,1,4,4,54,266,134,96},
+},266,134,1,0,1,4,4,57},
{
{-1},1,
{0},
@@ -90,8 +75,8 @@
{1,1,
{"ru","Перед открытием"}
},
-{4,0,
-{0},"",-1,-1,1,0,""},
+{3,0,
+{0},"",-1,-1,1,0},
{0,0,0}
}
}
@@ -99,10 +84,7 @@
},1,4,1,0,0,0,
{0},
{0},
-{7,0,
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},100,0,0},1,2,0,0,1,1}
\ No newline at end of file
+{3,0,
+{3,0,
+{0},"",-1,-1,1,0}
+},1,2,0,0,1,1}
\ No newline at end of file
diff --git "a/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Form/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" "b/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Form/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl"
index 672c43da..2355b768 100644
--- "a/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Form/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl"
+++ "b/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Form/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl"
@@ -1,467 +1,467 @@
-&НаКлиенте
-Перем КонтекстЯдра;
-&НаКлиенте
-Перем Ожидаем;
-&НаКлиенте
-Перем Утверждения;
-
-&НаКлиенте
-Перем ТестируемаяФорма;
-
-// { интерфейс тестирования
-
-&НаКлиенте
-Процедура Инициализация(КонтекстЯдраПараметр) Экспорт
- КонтекстЯдра = КонтекстЯдраПараметр;
- Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения");
- Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD");
-КонецПроцедуры
-
-&НаКлиенте
-Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПарам) Экспорт
-
- ОписанияТестов = Новый Массив;
-
- НужноИсключениеЕслиНеНайденоДокументов = Ложь;
-
- ПутьНастройки = "smoke";
- НачальнаяНастройка(КонтекстЯдраПарам, ПутьНастройки);
-
- //НаборТестов.СтрогийПорядокВыполнения();
-
- СоздатьИменаОсновныхФорм();
-
- ТолькоУправляемыеФормы = Истина;
- //#Если ТонкийКлиент или ВебКлиент Тогда
- #Если ТолстыйКлиентОбычноеПриложение или ТолстыйКлиентУправляемоеПриложение Тогда
- ТолькоУправляемыеФормы = Ложь;
- #КонецЕсли
-
- Если Не ИспользоватьОбычныеФормыВТолстомКлиентеВУправляемомРежимеСервер() Тогда
- ТолькоУправляемыеФормы = Истина;
- КонецЕсли;
-
- Объект.ВыводитьСообщенияВЖурналРегистрации = Истина;
-
- ИменаОсновныхФорм_Объекты_Сервер = ИменаОсновныхФорм_Объекты_Сервер();
- мИменаОсновныхФорм_Списки_Сервер = мИменаОсновныхФорм_Списки_Сервер();
-
- ДобавитьТестыДляСправочниковСервер(ОписанияТестов, ТолькоУправляемыеФормы, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер);
- ДобавитьТестыДляДокументовСервер(ОписанияТестов, ТолькоУправляемыеФормы, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер);
-
- ДобавитьТестыДляОтчетовОбработокСервер(ОписанияТестов, ТолькоУправляемыеФормы);
-
- ОписанияТестов.Добавить("ТестДолжен_ПроверитьБагПлатформыПриОткрытииУправляемойФормыПриОткрытииКоторойЕстьИсключение");
-
- ДобавитьОписанияТестовВНаборТестов(НаборТестов, ОписанияТестов);
-КонецПроцедуры
-
-// } интерфейс тестирования
-
-//{ блок юнит-тестов - САМИ ТЕСТЫ
-
-&НаКлиенте
-Процедура ПередЗапускомТеста() Экспорт
- //Предупреждение("Спец.окно для для показа сообщений из тестов. Таймаут 1 секунда",1); // нужно для показа сообщений из теста, иначе не будут показаны
-
- ВыводитьСообщенияВЖурналРегистрации = Истина;
- Объект.ВыводитьСообщенияВЖурналРегистрации = Истина;
-
- CоздаваемыйЭлемент = Неопределено;
-
- ОбновитьПовторноИспользуемыеЗначения();
-
- НужноИсключениеЕслиНеНайденоДокументов = Ложь;
-
- СоздатьИменаОсновныхФорм();
-
- //НачатьТранзакциюСервер();
-КонецПроцедуры
-
-&НаКлиенте
-Процедура ПослеЗапускаТеста() Экспорт
- //ОтменитьТранзакциюСервер();
-
- ЗакрытьФорму();
- УдалитьСозданныйОбъект();
-КонецПроцедуры
-
-&НаКлиенте
-Процедура ТестДолжен_ПропуститьТестФормы(Знач ПричинаПропускаТеста) Экспорт
- КонтекстЯдра.ПропуститьТест(ПричинаПропускаТеста);
-КонецПроцедуры
-
-&НаСервере
-Процедура УдалитьСозданныйОбъект()
- Если ЗначениеЗаполнено(CоздаваемыйЭлемент) Тогда
- CозданныйОбъект = CоздаваемыйЭлемент.ПолучитьОбъект();
- CозданныйОбъект.Удалить();
- КонецЕсли;
- CоздаваемыйЭлемент = Неопределено;
-КонецПроцедуры
-
-&НаКлиенте
-Процедура ЗакрытьФорму()
- //Если ТипЗнч(ТестируемаяФорма) <> Тип("Форма") и ТипЗнч(ТестируемаяФорма) <> Тип("УправляемаяФорма") Тогда
- Если ТипЗнч(ТестируемаяФорма) <> Тип("УправляемаяФорма") Тогда
- Возврат;
- КонецЕсли;
- ТестируемаяФорма.Модифицированность = Ложь;
- Если ТестируемаяФорма.Открыта() Тогда
- ТестируемаяФорма.Модифицированность = Ложь;
- //Попытка
- ТестируемаяФорма.Закрыть();
- //Исключение
- // Ошибка = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
- // ЗакрытьФормуБезусловноСОтменойТранзакции(ТестируемаяФорма);
- // //Если ТранзакцияАктивна() Тогда
- // // ОтменитьТранзакцию();
- // //КонецЕсли;
- // // //ДобавитьСтрокуРезультата(ИмяОперации, ИнформацияОбОшибке());
- // //НачатьТранзакцию();
- // //ТестируемаяФорма.УстановитьДействие("ПередЗакрытием", Неопределено);
- // //ТестируемаяФорма.УстановитьДействие("ПриЗакрытии", Неопределено);
- // //ТестируемаяФорма.Закрыть();
- // ВызватьИсключение Ошибка;
- //КонецПопытки;
- Иначе
- Попытка
- ТестируемаяФорма.Закрыть();
- Исключение
- КонецПопытки;
- КонецЕсли;
- ТестируемаяФорма = "";
-
-КонецПроцедуры
-
-&НаКлиенте
-Процедура ДобавитьОписанияТестовВНаборТестов(НаборТестов, ОписанияТестов)
- Для Каждого Описание Из ОписанияТестов Цикл
- Если ТипЗнч(Описание) = Тип("Строка") Тогда
- НаборТестов.Добавить(Описание);
- Иначе
- НаборТестов.Добавить(Описание.ИмяТеста, НаборТестов.ПараметрыТеста(Описание.Параметр), Описание.ПредставлениеТеста);
- КонецЕсли;
- КонецЦикла;
-КонецПроцедуры
-
-&НаСервере
-Функция ДобавитьТестыДляСправочниковСервер(ОписанияТестов, ТолькоУправляемыеФормы, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер)
- ОсновнойОбъект = Объект();
- СписокИсключений_Существующие = ОсновнойОбъект.ПолучитьСписокИсключений_Справочники_Существующие();
- СписокИсключений_Новые = ОсновнойОбъект.ПолучитьСписокИсключений_Справочники_Новые();
- СписокИсключений_Списки = ОсновнойОбъект.ПолучитьСписокИсключений_Справочники_Списки();
-
- менеджерМетаданного = Метаданные.Справочники;
- Для Каждого МетаОбъект Из менеджерМетаданного Цикл
-
- Если ПравоДоступа("ИнтерактивноеДобавление", МетаОбъект) Тогда
- имяТеста = "ТестДолжен_ОткрытьФормуНовогоЭлементаСправочника";
- ПрефиксПредставленияТеста = "Новые";
- СписокИсключений = СписокИсключений_Новые;
- ИменаОсновныхФорм = ИменаОсновныхФорм_Объекты_Сервер;
-
- ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ОписанияТестов, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста);
- КонецЕсли;
-
- имяТеста = "ТестДолжен_ОткрытьФормуСуществующегоЭлементаСправочника";
- ПрефиксПредставленияТеста = "Существующие";
- СписокИсключений = СписокИсключений_Существующие;
- ИменаОсновныхФорм = ИменаОсновныхФорм_Объекты_Сервер;
-
- ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ОписанияТестов, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста);
-
- имяТеста = "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы";
- ПрефиксПредставленияТеста = "Списки";
- СписокИсключений = СписокИсключений_Списки;
- ИменаОсновныхФорм = мИменаОсновныхФорм_Списки_Сервер;
-
- ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ОписанияТестов, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста);
- КонецЦикла;
-КонецФункции
-
-&НаСервере
-Функция ДобавитьТестыДляДокументовСервер(ОписанияТестов, ТолькоУправляемыеФормы, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер)
- ОсновнойОбъект = Объект();
- СписокИсключений_Существующие = ОсновнойОбъект.ПолучитьСписокИсключений_Документы_Существующие();
- СписокИсключений_Новые = ОсновнойОбъект.ПолучитьСписокИсключений_Документы_Новые();
- СписокИсключений_Списки = ОсновнойОбъект.ПолучитьСписокИсключений_Документы_Списки();
-
- менеджерМетаданного = Метаданные.Документы;
- Для Каждого МетаОбъект Из менеджерМетаданного Цикл
-
- Если ПравоДоступа("ИнтерактивноеДобавление", МетаОбъект) Тогда
- имяТеста = "ТестДолжен_ОткрытьФормуНовогоДокумента";
- ПрефиксПредставленияТеста = "Новые";
- СписокИсключений = СписокИсключений_Новые;
- ИменаОсновныхФорм = ИменаОсновныхФорм_Объекты_Сервер;
- ПроверяемоеПравоДоступа = "ИнтерактивноеДобавление";
- ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ОписанияТестов, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста);
- КонецЕсли;
-
- имяТеста = "ТестДолжен_ОткрытьФормуСуществующегоЭлементаДокумента";
- ПрефиксПредставленияТеста = "Существующие";
- СписокИсключений = СписокИсключений_Существующие;
- ИменаОсновныхФорм = ИменаОсновныхФорм_Объекты_Сервер;
-
- ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ОписанияТестов, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста);
-
- имяТеста = "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы";
- ПрефиксПредставленияТеста = "Списки";
- СписокИсключений = СписокИсключений_Списки;
- ИменаОсновныхФорм = мИменаОсновныхФорм_Списки_Сервер;
-
- ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ОписанияТестов, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста);
- КонецЦикла;
-КонецФункции
-
-&НаСервере
-Функция ДобавитьТестыДляОтчетовОбработокСервер(ОписанияТестов, ТолькоУправляемыеФормы)
- ОсновнойОбъект = Объект();
-
- ИменаОсновныхФорм = мИменаОсновныхФорм_Сервер();
- СписокИсключений_Отчеты = ОсновнойОбъект.ПолучитьСписокИсключений_Отчеты();
- СписокИсключений_Обработки = ОсновнойОбъект.ПолучитьСписокИсключений_Обработки();
-
- имяТеста = "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы";
- ПрефиксПредставленияТеста = "";
-
- ДобавитьТестыПереданныхВидовФормДляКаждогоОбъектаМенеджераМетаданных(ОписанияТестов, ОсновнойОбъект, Метаданные.Обработки, ТолькоУправляемыеФормы, СписокИсключений_Обработки, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста);
- ДобавитьТестыПереданныхВидовФормДляКаждогоОбъектаМенеджераМетаданных(ОписанияТестов, ОсновнойОбъект, Метаданные.Отчеты, ТолькоУправляемыеФормы, СписокИсключений_Отчеты, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста);
-КонецФункции
-
-Процедура ДобавитьТестыПереданныхВидовФормДляКаждогоОбъектаМенеджераМетаданных(ОписанияТестов, ОсновнойОбъект, менеджерМетаданного, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста)
- Для Каждого МетаОбъект Из менеджерМетаданного Цикл
- Если ОсновнойОбъект.ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) Тогда
- Продолжить;
- КонецЕсли;
- Если Лев(МетаОбъект.Имя, СтрДлина("xddTestRunner")) = "xddTestRunner" Тогда
- Продолжить;
- КонецЕсли;
-
- ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ОписанияТестов, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста);
- КонецЦикла;
-КонецПроцедуры
-
-Процедура ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ОписанияТестов, ОсновнойОбъект, МетаОбъект,
- ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста)
-
- Если ОсновнойОбъект.ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) Тогда
- Возврат;
- КонецЕсли;
-
- CписокИменМетаФорм = Новый СписокЗначений;
- ДобавитьИменаМетаФормДляОдногоОбъектаМетаданного(CписокИменМетаФорм, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм);
- ДобавитьТестПоПереданнымМетаФормамСсылочногоОбъектаСервер(ОписанияТестов, CписокИменМетаФорм, имяТеста, ПрефиксПредставленияТеста);
-КонецПроцедуры
-
-Процедура ДобавитьТестПоПереданнымМетаФормамСсылочногоОбъектаСервер(ОписанияТестов, CписокИменМетаФорм, имяТеста, ПрефиксПредставленияТеста)
- Для каждого Элемент Из CписокИменМетаФорм Цикл
- МетаФорма_ПолноеИмя = Элемент.Значение;
- ПредставлениеТеста = МетаФорма_ПолноеИмя;
- Если НЕ ПустаяСтрока(ПрефиксПредставленияТеста) Тогда
- ПредставлениеТеста = ПрефиксПредставленияТеста + " : " + МетаФорма_ПолноеИмя;
- КонецЕсли;
-
- лПараметры = Новый Структура("ПредставлениеТеста,ИмяТеста,Транзакция,Параметр", ПредставлениеТеста, имяТеста, Истина, МетаФорма_ПолноеИмя);
- ОписанияТестов.Добавить(лПараметры);
- КонецЦикла;
-КонецПроцедуры
-
-Функция ИспользоватьОбычныеФормыВТолстомКлиентеВУправляемомРежимеСервер()
- Возврат Метаданные.ИспользоватьОбычныеФормыВУправляемомПриложении;
-КонецФункции
-
-&НаКлиенте
-Процедура ТестироватьФорму(ПолноеИмяФормы, ПараметрыФормы) Экспорт
-//Процедура ТестироватьФорму(ПолноеИмяФормы, ПараметрыФормы, Модально = Ложь) Экспорт
- Если Объект.ВыводитьСообщенияВЖурналРегистрации Тогда
- ВыполнитьЗаписьВЖурналРегистрации(ПолноеИмяФормы);
- КонецЕсли;
-
- КлючВременнойФормы = "908насмь9ыв3245";
- //Если Модально Тогда
- // ТестируемаяФорма = ОткрытьФормуМодально(ПолноеИмяФормы, ПараметрыФормы);
- //Иначе
- //ошибка ="";
- //Попытка
-
- // К сожалению здесь исключения не ловятся https://github.com/xDrivenDevelopment/xUnitFor1C/issues/154
- ТестируемаяФорма = ОткрытьФорму(ПолноеИмяФормы, ПараметрыФормы,, КлючВременнойФормы);
-
- //Исключение
- // ошибка = ОписаниеОшибки();
- // Предупреждение(" поймали исключение 20" + ошибка);
- //КонецПопытки;
- //КонецЕсли;
- Если ТестируемаяФорма = Неопределено Тогда
- Возврат;
- КонецЕсли;
-
- //ТестируемаяФорма.Открыть(); // К сожалению здесь исключения не ловятся http://partners.v8.1c.ru/forum/thread.jsp?id=1080350#1080350
- Утверждения.Проверить(ТестируемаяФорма.Открыта(), "ТестируемаяФорма """+ПолноеИмяФормы+""" не открылась, а должна была открыться");
-
- Если ТипЗнч(ТестируемаяФорма) = Тип("УправляемаяФорма") Тогда
- ТестируемаяФорма.ОбновитьОтображениеДанных();
- Иначе
- //Если ЭтоОбычнаяФорма(ТестируемаяФорма) Тогда
- ТестируемаяФорма.Обновить();
- КонецЕсли;
-
-КонецПроцедуры
-
-&НаКлиенте
-Процедура ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, СсылочныйОбъект)
- ПараметрыФормы = Новый Структура("Ключ", СсылочныйОбъект);
- ТестироватьФорму(Мета_ПолноеИмя, ПараметрыФормы);
-КонецПроцедуры
-
-&НаСервере
-Процедура ВыполнитьЗаписьВЖурналРегистрации(ПолноеИмяФормы)
- ЗаписьЖурналаРегистрации(Объект().Метаданные().Синоним, УровеньЖурналаРегистрации.Информация, , , "Операция: " + ПолноеИмяФормы);
-КонецПроцедуры
-
-&НаКлиенте
-Процедура НачальнаяНастройка(КонтекстЯдра, Знач ПутьНастройки)
-
- ПлагинНастроек = КонтекстЯдра.Плагин("Настройки");
- Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки);
-
-КонецПроцедуры
-
-Процедура СоздатьИменаОсновныхФорм()
- ОсновнойОбъект = Объект();
- ОсновнойОбъект.СоздатьИменаОсновныхФорм();
- ОсновнойОбъект.ВидыМетаданных = ОсновнойОбъект.ВидыМетаданных();
- ОсновнойОбъект.ВидыПроверок = ОсновнойОбъект.ВидыПроверок();
- ЗначениеВРеквизитФормы(ОсновнойОбъект, "Объект");
-КонецПроцедуры
-
-&НаСервере
-Функция ИменаОсновныхФорм_Объекты_Сервер()
- Возврат Объект().мИменаОсновныхФорм_Объекты;
-КонецФункции
-
-&НаСервере
-Функция мИменаОсновныхФорм_Списки_Сервер()
- Возврат Объект().мИменаОсновныхФорм_Списки;
-КонецФункции
-
-&НаСервере
-Функция мИменаОсновныхФорм_Сервер()
- Возврат Объект().мИменаОсновныхФорм;
-КонецФункции
-
-&НаСервереБезКонтекста
-Процедура ДобавитьИменаМетаФормДляОдногоОбъектаМетаданного(CписокИменМетаФорм, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, списокИсключений, ИменаОсновныхФорм)
- Если списокИсключений.НайтиПоЗначению(МетаОбъект.Имя) <> Неопределено Тогда
- Возврат;
- КонецЕсли;
- Если ПравоДоступа("Просмотр", МетаОбъект) Тогда
- МетаФормы = ОсновнойОбъект.ПолучитьМетаФормыОбъектаДляПроверки(МетаОбъект, ИменаОсновныхФорм);
-
- Для каждого МетаФорма Из МетаФормы Цикл
-
- МетаФорма_ПолноеИмя = МетаФорма.ПолноеИмя();
- Если Метаданные.ОсновнаяФормаОтчета = МетаФорма Тогда
- МетаФорма_ПолноеИмя = МетаОбъект.ПолноеИмя() + ".Форма";
- ИначеЕсли Метаданные.ОсновнаяФормаНастроекОтчета = МетаФорма Тогда
- МетаФорма_ПолноеИмя = МетаОбъект.ПолноеИмя() + ".ФормаНастроек";
- КонецЕсли;
-
- //МетаОбъект.Имя <Отчет1>, МетаФорма_ПолноеИмя <Отчет.Отчет1.Форма.УправляемаяФормаОтчета>
- //МетаОбъект.Имя <Отчет2>, МетаФорма_ПолноеИмя <ОбщаяФорма.ФормаОтчета> // в ОФ Отчет.Отчет2.Форма
-
- Если ТолькоУправляемыеФормы Тогда
- //Сообщить("МетаФорма.ТипФормы <"+МетаФорма.ТипФормы+"> ");
- Если Не ЭтоУправляемаяФорма(МетаФорма) Тогда
- Продолжить;
- КонецЕсли;
- КонецЕсли;
-
- CписокИменМетаФорм.Добавить(МетаФорма_ПолноеИмя);
- КонецЦикла;
- КонецЕсли;
-КонецПроцедуры
-
-&НаСервереБезКонтекста
-Функция ЭтоУправляемаяФорма(МетаФорма)
- Возврат МетаФорма <> Неопределено И МетаФорма.ТипФормы = Метаданные.СвойстваОбъектов.ТипФормы.Управляемая;
-КонецФункции
-
-Функция Объект()
- Возврат РеквизитФормыВЗначение("Объект");
-КонецФункции
-
-Функция ПолучитьВидМетаданного(Мета_ПолноеИмя)
- ИД = Лев(Мета_ПолноеИмя, Найти(Мета_ПолноеИмя, ".Форма.")-1);
- ИД = Сред(ИД, Найти(ИД, ".") + 1);
- Возврат ИД;
-КонецФункции
-
-&НаСервереБезКонтекста
-Функция ИмяМетодаПропускаТестов()
- Возврат "ТестДолжен_ПропуститьТестФормы";
-КонецФункции
-
-&НаКлиенте
-Процедура ТестДолжен_ОткрытьФормуПоПолномуИмениФормы(ПолноеИмяФормы) Экспорт
- ТестироватьФорму(ПолноеИмяФормы, Неопределено);
-КонецПроцедуры
-
-&НаКлиенте
-Процедура ТестДолжен_ОткрытьФормуСуществующегоЭлементаСправочника(Мета_ПолноеИмя) Экспорт
- ТестДолжен_ОткрытьФормуСуществующегоЭлементаСправочникаСервер(Мета_ПолноеИмя);
- ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, CоздаваемыйЭлемент);
-КонецПроцедуры
-
-&НаСервере
-Процедура ТестДолжен_ОткрытьФормуСуществующегоЭлементаСправочникаСервер(Мета_ПолноеИмя)
- ИД = ПолучитьВидМетаданного(Мета_ПолноеИмя);
-
- ОсновнойОбъект = Объект();
- CоздаваемыйЭлемент = ОсновнойОбъект.СоздатьЭлементИВернутьСсылку(ИД, "существующий");
-КонецПроцедуры
-
-&НаКлиенте
-Процедура ТестДолжен_ОткрытьФормуНовогоЭлементаСправочника(Мета_ПолноеИмя) Экспорт
- ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, Неопределено);
-КонецПроцедуры
-
-&НаКлиенте
-Процедура ТестДолжен_ОткрытьФормуНовогоДокумента(Мета_ПолноеИмя) Экспорт
- ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, Неопределено);
-КонецПроцедуры
-
-&НаКлиенте
-Процедура ТестДолжен_ОткрытьФормуСуществующегоЭлементаДокумента(Мета_ПолноеИмя) Экспорт
- Док = ТестДолжен_ОткрытьФормуСуществующегоЭлементаДокументаСервер(Мета_ПолноеИмя);
- Если Док <> Неопределено Тогда
- ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, Док);
- КонецЕсли;
-КонецПроцедуры
-
-&НаСервере
-Функция ТестДолжен_ОткрытьФормуСуществующегоЭлементаДокументаСервер(Мета_ПолноеИмя)
- ИД = ПолучитьВидМетаданного(Мета_ПолноеИмя);
-
- ОсновнойОбъект = Объект();
- Док = ОсновнойОбъект.ПолучитьСуществующийДокументОбъектИВернутьСсылку(ИД, НужноИсключениеЕслиНеНайденоДокументов, "ТестДолжен_ОткрытьФормуСуществующегоДокумента");
- Возврат Док;
-КонецФункции
-
-// проверка бага https://github.com/xDrivenDevelopment/xUnitFor1C/issues/154
-&НаКлиенте
-Процедура ТестДолжен_ПроверитьБагПлатформыПриОткрытииУправляемойФормыПриОткрытииКоторойЕстьИсключение() Экспорт
- Мета_ПолноеИмя = "Обработка.ТестОбработка_Форма_ИсключениеПриОткрытии.Форма.УправляемаяФорма";
- ошибка ="";
- Попытка
- ОткрытьФорму(Мета_ПолноеИмя);
- Исключение
- ошибка = ОписаниеОшибки();
- //Предупреждение("поймали исключение 20"+ ошибка);
- КонецПопытки;
- Утверждения.ПроверитьЗаполненность(ошибка, "Ошибка");
-КонецПроцедуры
-
-//}
+&НаКлиенте
+Перем КонтекстЯдра;
+&НаКлиенте
+Перем Ожидаем;
+&НаКлиенте
+Перем Утверждения;
+
+&НаКлиенте
+Перем ТестируемаяФорма;
+
+// { интерфейс тестирования
+
+&НаКлиенте
+Процедура Инициализация(КонтекстЯдраПараметр) Экспорт
+ КонтекстЯдра = КонтекстЯдраПараметр;
+ Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения");
+ Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD");
+КонецПроцедуры
+
+&НаКлиенте
+Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПарам) Экспорт
+
+ ОписанияТестов = Новый Массив;
+
+ НужноИсключениеЕслиНеНайденоДокументов = Ложь;
+
+ ПутьНастройки = "smoke";
+ НачальнаяНастройка(КонтекстЯдраПарам, ПутьНастройки);
+
+ //НаборТестов.СтрогийПорядокВыполнения();
+
+ СоздатьИменаОсновныхФорм();
+
+ ТолькоУправляемыеФормы = Истина;
+ //#Если ТонкийКлиент или ВебКлиент Тогда
+ #Если ТолстыйКлиентОбычноеПриложение или ТолстыйКлиентУправляемоеПриложение Тогда
+ ТолькоУправляемыеФормы = Ложь;
+ #КонецЕсли
+
+ Если Не ИспользоватьОбычныеФормыВТолстомКлиентеВУправляемомРежимеСервер() Тогда
+ ТолькоУправляемыеФормы = Истина;
+ КонецЕсли;
+
+ Объект.ВыводитьСообщенияВЖурналРегистрации = Истина;
+
+ ИменаОсновныхФорм_Объекты_Сервер = ИменаОсновныхФорм_Объекты_Сервер();
+ мИменаОсновныхФорм_Списки_Сервер = мИменаОсновныхФорм_Списки_Сервер();
+
+ ДобавитьТестыДляСправочниковСервер(ОписанияТестов, ТолькоУправляемыеФормы, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер);
+ ДобавитьТестыДляДокументовСервер(ОписанияТестов, ТолькоУправляемыеФормы, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер);
+
+ ДобавитьТестыДляОтчетовОбработокСервер(ОписанияТестов, ТолькоУправляемыеФормы);
+
+ ОписанияТестов.Добавить("ТестДолжен_ПроверитьБагПлатформыПриОткрытииУправляемойФормыПриОткрытииКоторойЕстьИсключение");
+
+ ДобавитьОписанияТестовВНаборТестов(НаборТестов, ОписанияТестов);
+КонецПроцедуры
+
+// } интерфейс тестирования
+
+//{ блок юнит-тестов - САМИ ТЕСТЫ
+
+&НаКлиенте
+Процедура ПередЗапускомТеста() Экспорт
+ //Предупреждение("Спец.окно для для показа сообщений из тестов. Таймаут 1 секунда",1); // нужно для показа сообщений из теста, иначе не будут показаны
+
+ ВыводитьСообщенияВЖурналРегистрации = Истина;
+ Объект.ВыводитьСообщенияВЖурналРегистрации = Истина;
+
+ CоздаваемыйЭлемент = Неопределено;
+
+ ОбновитьПовторноИспользуемыеЗначения();
+
+ НужноИсключениеЕслиНеНайденоДокументов = Ложь;
+
+ СоздатьИменаОсновныхФорм();
+
+ //НачатьТранзакциюСервер();
+КонецПроцедуры
+
+&НаКлиенте
+Процедура ПослеЗапускаТеста() Экспорт
+ //ОтменитьТранзакциюСервер();
+
+ ЗакрытьФорму();
+ УдалитьСозданныйОбъект();
+КонецПроцедуры
+
+&НаКлиенте
+Процедура ТестДолжен_ПропуститьТестФормы(Знач ПричинаПропускаТеста) Экспорт
+ КонтекстЯдра.ПропуститьТест(ПричинаПропускаТеста);
+КонецПроцедуры
+
+&НаСервере
+Процедура УдалитьСозданныйОбъект()
+ Если ЗначениеЗаполнено(CоздаваемыйЭлемент) Тогда
+ CозданныйОбъект = CоздаваемыйЭлемент.ПолучитьОбъект();
+ CозданныйОбъект.Удалить();
+ КонецЕсли;
+ CоздаваемыйЭлемент = Неопределено;
+КонецПроцедуры
+
+&НаКлиенте
+Процедура ЗакрытьФорму()
+ //Если ТипЗнч(ТестируемаяФорма) <> Тип("Форма") и ТипЗнч(ТестируемаяФорма) <> Тип("УправляемаяФорма") Тогда
+ Если ТипЗнч(ТестируемаяФорма) <> Тип("УправляемаяФорма") Тогда
+ Возврат;
+ КонецЕсли;
+ ТестируемаяФорма.Модифицированность = Ложь;
+ Если ТестируемаяФорма.Открыта() Тогда
+ ТестируемаяФорма.Модифицированность = Ложь;
+ //Попытка
+ ТестируемаяФорма.Закрыть();
+ //Исключение
+ // Ошибка = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
+ // ЗакрытьФормуБезусловноСОтменойТранзакции(ТестируемаяФорма);
+ // //Если ТранзакцияАктивна() Тогда
+ // // ОтменитьТранзакцию();
+ // //КонецЕсли;
+ // // //ДобавитьСтрокуРезультата(ИмяОперации, ИнформацияОбОшибке());
+ // //НачатьТранзакцию();
+ // //ТестируемаяФорма.УстановитьДействие("ПередЗакрытием", Неопределено);
+ // //ТестируемаяФорма.УстановитьДействие("ПриЗакрытии", Неопределено);
+ // //ТестируемаяФорма.Закрыть();
+ // ВызватьИсключение Ошибка;
+ //КонецПопытки;
+ Иначе
+ Попытка
+ ТестируемаяФорма.Закрыть();
+ Исключение
+ КонецПопытки;
+ КонецЕсли;
+ ТестируемаяФорма = "";
+
+КонецПроцедуры
+
+&НаКлиенте
+Процедура ДобавитьОписанияТестовВНаборТестов(НаборТестов, ОписанияТестов)
+ Для Каждого Описание Из ОписанияТестов Цикл
+ Если ТипЗнч(Описание) = Тип("Строка") Тогда
+ НаборТестов.Добавить(Описание);
+ Иначе
+ НаборТестов.Добавить(Описание.ИмяТеста, НаборТестов.ПараметрыТеста(Описание.Параметр), Описание.ПредставлениеТеста);
+ КонецЕсли;
+ КонецЦикла;
+КонецПроцедуры
+
+&НаСервере
+Функция ДобавитьТестыДляСправочниковСервер(ОписанияТестов, ТолькоУправляемыеФормы, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер)
+ ОсновнойОбъект = Объект();
+ СписокИсключений_Существующие = ОсновнойОбъект.ПолучитьСписокИсключений_Справочники_Существующие();
+ СписокИсключений_Новые = ОсновнойОбъект.ПолучитьСписокИсключений_Справочники_Новые();
+ СписокИсключений_Списки = ОсновнойОбъект.ПолучитьСписокИсключений_Справочники_Списки();
+
+ менеджерМетаданного = Метаданные.Справочники;
+ Для Каждого МетаОбъект Из менеджерМетаданного Цикл
+
+ Если ПравоДоступа("ИнтерактивноеДобавление", МетаОбъект) Тогда
+ имяТеста = "ТестДолжен_ОткрытьФормуНовогоЭлементаСправочника";
+ ПрефиксПредставленияТеста = "Новые";
+ СписокИсключений = СписокИсключений_Новые;
+ ИменаОсновныхФорм = ИменаОсновныхФорм_Объекты_Сервер;
+
+ ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ОписанияТестов, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста);
+ КонецЕсли;
+
+ имяТеста = "ТестДолжен_ОткрытьФормуСуществующегоЭлементаСправочника";
+ ПрефиксПредставленияТеста = "Существующие";
+ СписокИсключений = СписокИсключений_Существующие;
+ ИменаОсновныхФорм = ИменаОсновныхФорм_Объекты_Сервер;
+
+ ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ОписанияТестов, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста);
+
+ имяТеста = "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы";
+ ПрефиксПредставленияТеста = "Списки";
+ СписокИсключений = СписокИсключений_Списки;
+ ИменаОсновныхФорм = мИменаОсновныхФорм_Списки_Сервер;
+
+ ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ОписанияТестов, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста);
+ КонецЦикла;
+КонецФункции
+
+&НаСервере
+Функция ДобавитьТестыДляДокументовСервер(ОписанияТестов, ТолькоУправляемыеФормы, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер)
+ ОсновнойОбъект = Объект();
+ СписокИсключений_Существующие = ОсновнойОбъект.ПолучитьСписокИсключений_Документы_Существующие();
+ СписокИсключений_Новые = ОсновнойОбъект.ПолучитьСписокИсключений_Документы_Новые();
+ СписокИсключений_Списки = ОсновнойОбъект.ПолучитьСписокИсключений_Документы_Списки();
+
+ менеджерМетаданного = Метаданные.Документы;
+ Для Каждого МетаОбъект Из менеджерМетаданного Цикл
+
+ Если ПравоДоступа("ИнтерактивноеДобавление", МетаОбъект) Тогда
+ имяТеста = "ТестДолжен_ОткрытьФормуНовогоДокумента";
+ ПрефиксПредставленияТеста = "Новые";
+ СписокИсключений = СписокИсключений_Новые;
+ ИменаОсновныхФорм = ИменаОсновныхФорм_Объекты_Сервер;
+ ПроверяемоеПравоДоступа = "ИнтерактивноеДобавление";
+ ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ОписанияТестов, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста);
+ КонецЕсли;
+
+ имяТеста = "ТестДолжен_ОткрытьФормуСуществующегоЭлементаДокумента";
+ ПрефиксПредставленияТеста = "Существующие";
+ СписокИсключений = СписокИсключений_Существующие;
+ ИменаОсновныхФорм = ИменаОсновныхФорм_Объекты_Сервер;
+
+ ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ОписанияТестов, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста);
+
+ имяТеста = "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы";
+ ПрефиксПредставленияТеста = "Списки";
+ СписокИсключений = СписокИсключений_Списки;
+ ИменаОсновныхФорм = мИменаОсновныхФорм_Списки_Сервер;
+
+ ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ОписанияТестов, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста);
+ КонецЦикла;
+КонецФункции
+
+&НаСервере
+Функция ДобавитьТестыДляОтчетовОбработокСервер(ОписанияТестов, ТолькоУправляемыеФормы)
+ ОсновнойОбъект = Объект();
+
+ ИменаОсновныхФорм = мИменаОсновныхФорм_Сервер();
+ СписокИсключений_Отчеты = ОсновнойОбъект.ПолучитьСписокИсключений_Отчеты();
+ СписокИсключений_Обработки = ОсновнойОбъект.ПолучитьСписокИсключений_Обработки();
+
+ имяТеста = "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы";
+ ПрефиксПредставленияТеста = "";
+
+ ДобавитьТестыПереданныхВидовФормДляКаждогоОбъектаМенеджераМетаданных(ОписанияТестов, ОсновнойОбъект, Метаданные.Обработки, ТолькоУправляемыеФормы, СписокИсключений_Обработки, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста);
+ ДобавитьТестыПереданныхВидовФормДляКаждогоОбъектаМенеджераМетаданных(ОписанияТестов, ОсновнойОбъект, Метаданные.Отчеты, ТолькоУправляемыеФормы, СписокИсключений_Отчеты, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста);
+КонецФункции
+
+Процедура ДобавитьТестыПереданныхВидовФормДляКаждогоОбъектаМенеджераМетаданных(ОписанияТестов, ОсновнойОбъект, менеджерМетаданного, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста)
+ Для Каждого МетаОбъект Из менеджерМетаданного Цикл
+ Если ОсновнойОбъект.ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) Тогда
+ Продолжить;
+ КонецЕсли;
+ Если Лев(МетаОбъект.Имя, СтрДлина("xddTestRunner")) = "xddTestRunner" Тогда
+ Продолжить;
+ КонецЕсли;
+
+ ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ОписанияТестов, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста);
+ КонецЦикла;
+КонецПроцедуры
+
+Процедура ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ОписанияТестов, ОсновнойОбъект, МетаОбъект,
+ ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста)
+
+ Если ОсновнойОбъект.ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) Тогда
+ Возврат;
+ КонецЕсли;
+
+ CписокИменМетаФорм = Новый СписокЗначений;
+ ДобавитьИменаМетаФормДляОдногоОбъектаМетаданного(CписокИменМетаФорм, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм);
+ ДобавитьТестПоПереданнымМетаФормамСсылочногоОбъектаСервер(ОписанияТестов, CписокИменМетаФорм, имяТеста, ПрефиксПредставленияТеста);
+КонецПроцедуры
+
+Процедура ДобавитьТестПоПереданнымМетаФормамСсылочногоОбъектаСервер(ОписанияТестов, CписокИменМетаФорм, имяТеста, ПрефиксПредставленияТеста)
+ Для каждого Элемент Из CписокИменМетаФорм Цикл
+ МетаФорма_ПолноеИмя = Элемент.Значение;
+ ПредставлениеТеста = МетаФорма_ПолноеИмя;
+ Если НЕ ПустаяСтрока(ПрефиксПредставленияТеста) Тогда
+ ПредставлениеТеста = ПрефиксПредставленияТеста + " : " + МетаФорма_ПолноеИмя;
+ КонецЕсли;
+
+ лПараметры = Новый Структура("ПредставлениеТеста,ИмяТеста,Транзакция,Параметр", ПредставлениеТеста, имяТеста, Истина, МетаФорма_ПолноеИмя);
+ ОписанияТестов.Добавить(лПараметры);
+ КонецЦикла;
+КонецПроцедуры
+
+Функция ИспользоватьОбычныеФормыВТолстомКлиентеВУправляемомРежимеСервер()
+ Возврат Метаданные.ИспользоватьОбычныеФормыВУправляемомПриложении;
+КонецФункции
+
+&НаКлиенте
+Процедура ТестироватьФорму(ПолноеИмяФормы, ПараметрыФормы) Экспорт
+//Процедура ТестироватьФорму(ПолноеИмяФормы, ПараметрыФормы, Модально = Ложь) Экспорт
+ Если Объект.ВыводитьСообщенияВЖурналРегистрации Тогда
+ ВыполнитьЗаписьВЖурналРегистрации(ПолноеИмяФормы);
+ КонецЕсли;
+
+ КлючВременнойФормы = "908насмь9ыв3245";
+ //Если Модально Тогда
+ // ТестируемаяФорма = ОткрытьФормуМодально(ПолноеИмяФормы, ПараметрыФормы);
+ //Иначе
+ //ошибка ="";
+ //Попытка
+
+ // К сожалению здесь исключения не ловятся https://github.com/xDrivenDevelopment/xUnitFor1C/issues/154
+ ТестируемаяФорма = ОткрытьФорму(ПолноеИмяФормы, ПараметрыФормы,, КлючВременнойФормы);
+
+ //Исключение
+ // ошибка = ОписаниеОшибки();
+ // Предупреждение(" поймали исключение 20" + ошибка);
+ //КонецПопытки;
+ //КонецЕсли;
+ Если ТестируемаяФорма = Неопределено Тогда
+ Возврат;
+ КонецЕсли;
+
+ //ТестируемаяФорма.Открыть(); // К сожалению здесь исключения не ловятся http://partners.v8.1c.ru/forum/thread.jsp?id=1080350#1080350
+ Утверждения.Проверить(ТестируемаяФорма.Открыта(), "ТестируемаяФорма """+ПолноеИмяФормы+""" не открылась, а должна была открыться");
+
+ Если ТипЗнч(ТестируемаяФорма) = Тип("УправляемаяФорма") Тогда
+ ТестируемаяФорма.ОбновитьОтображениеДанных();
+ Иначе
+ //Если ЭтоОбычнаяФорма(ТестируемаяФорма) Тогда
+ ТестируемаяФорма.Обновить();
+ КонецЕсли;
+
+КонецПроцедуры
+
+&НаКлиенте
+Процедура ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, СсылочныйОбъект)
+ ПараметрыФормы = Новый Структура("Ключ", СсылочныйОбъект);
+ ТестироватьФорму(Мета_ПолноеИмя, ПараметрыФормы);
+КонецПроцедуры
+
+&НаСервере
+Процедура ВыполнитьЗаписьВЖурналРегистрации(ПолноеИмяФормы)
+ ЗаписьЖурналаРегистрации(Объект().Метаданные().Синоним, УровеньЖурналаРегистрации.Информация, , , "Операция: " + ПолноеИмяФормы);
+КонецПроцедуры
+
+&НаКлиенте
+Процедура НачальнаяНастройка(КонтекстЯдра, Знач ПутьНастройки)
+
+ ПлагинНастроек = КонтекстЯдра.Плагин("Настройки");
+ Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки);
+
+КонецПроцедуры
+
+Процедура СоздатьИменаОсновныхФорм()
+ ОсновнойОбъект = Объект();
+ ОсновнойОбъект.СоздатьИменаОсновныхФорм();
+ ОсновнойОбъект.ВидыМетаданных = ОсновнойОбъект.ВидыМетаданных();
+ ОсновнойОбъект.ВидыПроверок = ОсновнойОбъект.ВидыПроверок();
+ ЗначениеВРеквизитФормы(ОсновнойОбъект, "Объект");
+КонецПроцедуры
+
+&НаСервере
+Функция ИменаОсновныхФорм_Объекты_Сервер()
+ Возврат Объект().мИменаОсновныхФорм_Объекты;
+КонецФункции
+
+&НаСервере
+Функция мИменаОсновныхФорм_Списки_Сервер()
+ Возврат Объект().мИменаОсновныхФорм_Списки;
+КонецФункции
+
+&НаСервере
+Функция мИменаОсновныхФорм_Сервер()
+ Возврат Объект().мИменаОсновныхФорм;
+КонецФункции
+
+&НаСервереБезКонтекста
+Процедура ДобавитьИменаМетаФормДляОдногоОбъектаМетаданного(CписокИменМетаФорм, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, списокИсключений, ИменаОсновныхФорм)
+ Если списокИсключений.НайтиПоЗначению(МетаОбъект.Имя) <> Неопределено Тогда
+ Возврат;
+ КонецЕсли;
+ Если ПравоДоступа("Просмотр", МетаОбъект) Тогда
+ МетаФормы = ОсновнойОбъект.ПолучитьМетаФормыОбъектаДляПроверки(МетаОбъект, ИменаОсновныхФорм);
+
+ Для каждого МетаФорма Из МетаФормы Цикл
+
+ МетаФорма_ПолноеИмя = МетаФорма.ПолноеИмя();
+ Если Метаданные.ОсновнаяФормаОтчета = МетаФорма Тогда
+ МетаФорма_ПолноеИмя = МетаОбъект.ПолноеИмя() + ".Форма";
+ ИначеЕсли Метаданные.ОсновнаяФормаНастроекОтчета = МетаФорма Тогда
+ МетаФорма_ПолноеИмя = МетаОбъект.ПолноеИмя() + ".ФормаНастроек";
+ КонецЕсли;
+
+ //МетаОбъект.Имя <Отчет1>, МетаФорма_ПолноеИмя <Отчет.Отчет1.Форма.УправляемаяФормаОтчета>
+ //МетаОбъект.Имя <Отчет2>, МетаФорма_ПолноеИмя <ОбщаяФорма.ФормаОтчета> // в ОФ Отчет.Отчет2.Форма
+
+ Если ТолькоУправляемыеФормы Тогда
+ //Сообщить("МетаФорма.ТипФормы <"+МетаФорма.ТипФормы+"> ");
+ Если Не ЭтоУправляемаяФорма(МетаФорма) Тогда
+ Продолжить;
+ КонецЕсли;
+ КонецЕсли;
+
+ CписокИменМетаФорм.Добавить(МетаФорма_ПолноеИмя);
+ КонецЦикла;
+ КонецЕсли;
+КонецПроцедуры
+
+&НаСервереБезКонтекста
+Функция ЭтоУправляемаяФорма(МетаФорма)
+ Возврат МетаФорма <> Неопределено И МетаФорма.ТипФормы = Метаданные.СвойстваОбъектов.ТипФормы.Управляемая;
+КонецФункции
+
+Функция Объект()
+ Возврат РеквизитФормыВЗначение("Объект");
+КонецФункции
+
+Функция ПолучитьВидМетаданного(Мета_ПолноеИмя)
+ ИД = Лев(Мета_ПолноеИмя, Найти(Мета_ПолноеИмя, ".Форма.")-1);
+ ИД = Сред(ИД, Найти(ИД, ".") + 1);
+ Возврат ИД;
+КонецФункции
+
+&НаСервереБезКонтекста
+Функция ИмяМетодаПропускаТестов()
+ Возврат "ТестДолжен_ПропуститьТестФормы";
+КонецФункции
+
+&НаКлиенте
+Процедура ТестДолжен_ОткрытьФормуПоПолномуИмениФормы(ПолноеИмяФормы) Экспорт
+ ТестироватьФорму(ПолноеИмяФормы, Неопределено);
+КонецПроцедуры
+
+&НаКлиенте
+Процедура ТестДолжен_ОткрытьФормуСуществующегоЭлементаСправочника(Мета_ПолноеИмя) Экспорт
+ ТестДолжен_ОткрытьФормуСуществующегоЭлементаСправочникаСервер(Мета_ПолноеИмя);
+ ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, CоздаваемыйЭлемент);
+КонецПроцедуры
+
+&НаСервере
+Процедура ТестДолжен_ОткрытьФормуСуществующегоЭлементаСправочникаСервер(Мета_ПолноеИмя)
+ ИД = ПолучитьВидМетаданного(Мета_ПолноеИмя);
+
+ ОсновнойОбъект = Объект();
+ CоздаваемыйЭлемент = ОсновнойОбъект.СоздатьЭлементИВернутьСсылку(ИД, "существующий");
+КонецПроцедуры
+
+&НаКлиенте
+Процедура ТестДолжен_ОткрытьФормуНовогоЭлементаСправочника(Мета_ПолноеИмя) Экспорт
+ ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, Неопределено);
+КонецПроцедуры
+
+&НаКлиенте
+Процедура ТестДолжен_ОткрытьФормуНовогоДокумента(Мета_ПолноеИмя) Экспорт
+ ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, Неопределено);
+КонецПроцедуры
+
+&НаКлиенте
+Процедура ТестДолжен_ОткрытьФормуСуществующегоЭлементаДокумента(Мета_ПолноеИмя) Экспорт
+ Док = ТестДолжен_ОткрытьФормуСуществующегоЭлементаДокументаСервер(Мета_ПолноеИмя);
+ Если Док <> Неопределено Тогда
+ ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, Док);
+ КонецЕсли;
+КонецПроцедуры
+
+&НаСервере
+Функция ТестДолжен_ОткрытьФормуСуществующегоЭлементаДокументаСервер(Мета_ПолноеИмя)
+ ИД = ПолучитьВидМетаданного(Мета_ПолноеИмя);
+
+ ОсновнойОбъект = Объект();
+ Док = ОсновнойОбъект.ПолучитьСуществующийДокументОбъектИВернутьСсылку(ИД, НужноИсключениеЕслиНеНайденоДокументов, "ТестДолжен_ОткрытьФормуСуществующегоДокумента");
+ Возврат Док;
+КонецФункции
+
+// проверка бага https://github.com/xDrivenDevelopment/xUnitFor1C/issues/154
+&НаКлиенте
+Процедура ТестДолжен_ПроверитьБагПлатформыПриОткрытииУправляемойФормыПриОткрытииКоторойЕстьИсключение() Экспорт
+ Мета_ПолноеИмя = "Обработка.ТестОбработка_Форма_ИсключениеПриОткрытии.Форма.УправляемаяФорма";
+ ошибка ="";
+ Попытка
+ ОткрытьФорму(Мета_ПолноеИмя);
+ Исключение
+ ошибка = ОписаниеОшибки();
+ //Предупреждение("поймали исключение 20"+ ошибка);
+ КонецПопытки;
+ Утверждения.ПроверитьЗаполненность(ошибка, "Ошибка");
+КонецПроцедуры
+
+//}
diff --git "a/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/ObjectModule.bsl" "b/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/ObjectModule.bsl"
index 492d55ac..139ce008 100644
--- "a/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/ObjectModule.bsl"
+++ "b/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/ObjectModule.bsl"
@@ -5,105 +5,640 @@
Перем ТестируемаяФорма;
Перем НужноИсключениеЕслиНеНайденоДокументов;
-//{ интерфейс тестирования
+// { ИнтерфейсТестирования
// директива препроцессора нужна для исключения ошибки загрузки в толстом клиенте управляемого приложения
#Если ТолстыйКлиентОбычноеПриложение Тогда
Процедура Инициализация(КонтекстЯдраПараметр) Экспорт
- КонтекстЯдра = КонтекстЯдраПараметр;
- Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD");
- Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения");
+
+ КонтекстЯдра = КонтекстЯдраПараметр;
+ Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD");
+ Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения");
+
+ ЗагрузитьНастройки();
+
КонецПроцедуры
-Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт
- ВидыМетаданных = ВидыМетаданных();
- ВидыПроверок = ВидыПроверок();
+Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт
- ПутьНастройки = "smoke";
- ПлагинНастроек = КонтекстЯдра.Плагин("Настройки");
- Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки);
+ КонтекстЯдра = КонтекстЯдраПараметр;
+
+ ВидыМетаданных = ВидыМетаданных();
+ ВидыПроверок = ВидыПроверок();
+ СпособыГруппировки = СпособыГруппировки();
+
+ ЗагрузитьНастройки();
+
+ НастройкаГруппировки = ПолучитьНастройкуГруппировки(Настройки);
НужноИсключениеЕслиНеНайденоДокументов = Ложь;
Если НЕ СоздатьФорму_ПолучениеФорм() Тогда
Возврат;
КонецЕсли;
-
- //НаборТестов.СтрогийПорядокВыполнения();
СоздатьИменаОсновныхФорм();
- ВыводитьСообщенияВЖурналРегистрации = Истина;
+ Если НЕ ВидМетаданныхИсключенИзТестирования("Справочники") Тогда
+ ДобавитьТестыФормСправочников(НаборТестов, НастройкаГруппировки);
+ КонецЕсли;
+
+ Если НЕ ВидМетаданныхИсключенИзТестирования("Документы") Тогда
+ ДобавитьТестыФормДокументов(НаборТестов, НастройкаГруппировки);
+ КонецЕсли;
+
+ Если НЕ ВидМетаданныхИсключенИзТестирования("Обработки") Тогда
+ ДобавитьТестыФормОбработок(НаборТестов, НастройкаГруппировки);
+ КонецЕсли;
+
+ Если НЕ ВидМетаданныхИсключенИзТестирования("Отчеты") Тогда
+ ДобавитьТестыФормОтчетов(НаборТестов, НастройкаГруппировки);
+ КонецЕсли;
+
+КонецПроцедуры
+
+#КонецЕсли
+
+// } ИнтерфейсТестирования
+
+// { Тесты
+
+Процедура ПередЗапускомТеста() Экспорт
+
+ НужноИсключениеЕслиНеНайденоДокументов = Ложь;
+
+ СоздатьФорму_ПолучениеФорм();
+
+ НачатьТранзакцию();
+
+КонецПроцедуры
+
+Процедура ПослеЗапускаТеста() Экспорт
+
+ ЗакрытьФорму();
+
+ Если ТранзакцияАктивна() Тогда
+ ОтменитьТранзакцию();
+ КонецЕсли;
+
+КонецПроцедуры
+
+Процедура ТестДолжен_ПропуститьТестФормы(Знач ПричинаПропускаТеста) Экспорт
+ КонтекстЯдра.ПропуститьТест(ПричинаПропускаТеста);
+КонецПроцедуры
+
+Процедура Тест_ОткрытьФормуСуществующегоДокумента(МетаИмя,МетаФорма_ПолноеИмя,МетаФорма, ЕстьТранзакция) Экспорт
+ ИД = МетаИмя;
+ Док = ПолучитьСуществующийДокументОбъект(ИД, НужноИсключениеЕслиНеНайденоДокументов, "Тест_ОткрытьФормуСуществующегоДокумента");
+
+ Если Док <> Неопределено Тогда
+ ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма.Имя, Док.Ссылка);
+ КонецЕсли;
+КонецПроцедуры
+
+Процедура Тест_ПеренестиДокументНаТекущийДень_и_ОткрытьЕгоФорму(МетаИмя,МетаФорма_ПолноеИмя,МетаФорма, ЕстьТранзакция) Экспорт
+ ИД = МетаИмя;
+ Док = ПолучитьСуществующийДокументОбъект(ИД, Ложь, "Тест_ПеренестиДокументНаТекущийДень_и_ОткрытьЕгоФорму");
+ Если Док = Неопределено Тогда
+ Возврат;
+ КонецЕсли;
+
+ Док.Дата = ТекущаяДата();
+ Док.ОбменДанными.Загрузка = Истина;
+ Док.Записать();
+
+ ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма.Имя, Док.Ссылка);
+КонецПроцедуры
+
+Процедура Тест_ОткрытьФормуНовогоДокумента(МетаИмя,МетаФорма_ПолноеИмя,МетаФорма, ЕстьТранзакция) Экспорт
+
+ ИД = МетаИмя;
+ Док = Документы[ИД].СоздатьДокумент();
+ Мета = Док.Метаданные();
+
+ Если НЕ ПравоДоступа("ИнтерактивноеДобавление", Мета) Тогда
+ Возврат;
+ КонецЕсли;
+
+ Если Мета.ДлинаНомера <> 0 Тогда
+ Попытка
+ Док.УстановитьНовыйНомер();
+ Исключение
+ КонецПопытки;
+ КонецЕсли;
+
+ Если ЕстьНастройка("Документы.ЗначенияРеквизитовНовых." + Мета.Имя) Тогда
+ Для каждого Реквизит из Настройки.Документы.ЗначенияРеквизитовНовых[Мета.Имя] Цикл
+ Попытка
+ Док[Реквизит.Ключ] = ЗначениеРеквизита(Мета, Реквизит.Ключ, Реквизит.Значение);
+ Исключение
+ ВывестиСообщение(ОписаниеОшибки());
+ КонецПопытки;
+ КонецЦикла;
+ КонецЕсли;
+
+ ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма.Имя, Док, Ложь);
+
+КонецПроцедуры
+
+Процедура Тест_ОткрытьФормуСуществующегоЭлементаСправочника(МетаИмя,МетаФорма_ПолноеИмя,МетаФорма, ЕстьТранзакция) Экспорт
+ ИД = МетаИмя;
+ Элем = СоздатьЭлемент(ИД, "существующий");
+ ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма.Имя, Элем.Ссылка);
+КонецПроцедуры
+
+Процедура Тест_ОткрытьФормуНовогоЭлементаСправочника(МетаИмя,МетаФорма_ПолноеИмя,МетаФорма, ЕстьТранзакция) Экспорт
+
+ ИД = МетаИмя;
+ Элем = Справочники[ИД].СоздатьЭлемент();
+ Мета = Элем.Метаданные();
+
+ Если НЕ ПравоДоступа("ИнтерактивноеДобавление", Мета) Тогда
+ Возврат;
+ КонецЕсли;
+
+ Если Мета.ДлинаНаименования <> 0 Тогда
+ Попытка
+ Элем.Наименование = "новый";
+ Исключение
+ КонецПопытки;
+ КонецЕсли;
+
+ Если Мета.Владельцы.Количество() Тогда
+ Элем.Владелец = ПолучитьСсылкуНаВладельца(Мета, "Владелец для нового");
+ КонецЕсли;
+
+ ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма.Имя, Элем, Ложь);
+
+КонецПроцедуры
+
+Процедура Тест_ОткрытьФормуНовогоЭлементаСправочникаСоздаваемогоКопированием(МетаИмя,МетаФорма_ПолноеИмя,МетаФорма, ЕстьТранзакция) Экспорт
+ ИД = МетаИмя;
+ Элем = СоздатьЭлемент(ИД, "копирование", "ИнтерактивноеДобавление");
+ Если Элем = Неопределено Тогда
+ Возврат;
+ КонецЕсли;
+
+ ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма.Имя, Элем.Ссылка, Истина);
+КонецПроцедуры
+
+// } Тесты
+
+// { ПереопределениеИсключений
+
+// Переопределение исключений, чтобы не открывать формы.
+
+Функция ПолучитьСписокИсключений_Справочники_Списки() Экспорт
+
+ Результат = ПолучитьИсключения(ВидыМетаданных.Справочники, ВидыПроверок.Списки);
+ Если ЗначениеЗаполнено(Результат) Тогда
+ Возврат Результат;
+ КонецЕсли;
+
+ Результат = Новый СписокЗначений;
+
+ Результат.Добавить("ирАлгоритмы");
+
+ Возврат Результат;
+КонецФункции
+
+Функция ПолучитьСписокИсключений_Справочники_Существующие() Экспорт
+
+ Результат = ПолучитьИсключения(ВидыМетаданных.Справочники, ВидыПроверок.Существующие);
+ Если ЗначениеЗаполнено(Результат) Тогда
+ Возврат Результат;
+ КонецЕсли;
+
+ Результат = Новый СписокЗначений;
+
+ Результат.Добавить("ирАлгоритмы");
+ //Результат.Добавить("ПростойСправочник");
+
+ Возврат Результат;
+КонецФункции
+
+Функция ПолучитьСписокИсключений_Справочники_Новые() Экспорт
+
+ Результат = ПолучитьИсключения(ВидыМетаданных.Справочники, ВидыПроверок.Новые);
+ Если ЗначениеЗаполнено(Результат) Тогда
+ Возврат Результат;
+ КонецЕсли;
+
+ Результат = Новый СписокЗначений;
+
+ Результат.Добавить("ирАлгоритмы");
+ //Результат.Добавить("ПростойСправочник");
+
+ Возврат Результат;
+КонецФункции
+
+Функция ПолучитьСписокИсключений_Документы_Списки() Экспорт
+
+ Результат = ПолучитьИсключения(ВидыМетаданных.Документы, ВидыПроверок.Списки);
+ Если ЗначениеЗаполнено(Результат) Тогда
+ Возврат Результат;
+ КонецЕсли;
+
+ Результат = Новый СписокЗначений;
+
+ //Результат.Добавить("Штрафы");
+
+ Возврат Результат;
+КонецФункции
+
+Функция ПолучитьСписокИсключений_Документы_Существующие() Экспорт
+
+ Результат = ПолучитьИсключения(ВидыМетаданных.Документы, ВидыПроверок.Существующие);
+ Если ЗначениеЗаполнено(Результат) Тогда
+ Возврат Результат;
+ КонецЕсли;
+
+ Результат = Новый СписокЗначений;
+
+ //Результат.Добавить("Штрафы");
+
+ Возврат Результат;
+КонецФункции
+
+Функция ПолучитьСписокИсключений_Документы_ПеренестиДату() Экспорт
+
+ Результат = ПолучитьИсключения(ВидыМетаданных.Документы, ВидыПроверок.ПеренестиДату);
+ Если ЗначениеЗаполнено(Результат) Тогда
+ Возврат Результат;
+ КонецЕсли;
+
+ Результат = Новый СписокЗначений;
+
+ //Результат.Добавить("Штрафы");
+
+ Возврат Результат;
+КонецФункции
+
+Функция ПолучитьСписокИсключений_Документы_Новые() Экспорт
+
+ Результат = ПолучитьИсключения(ВидыМетаданных.Документы, ВидыПроверок.Новые);
+ Если ЗначениеЗаполнено(Результат) Тогда
+ Возврат Результат;
+ КонецЕсли;
+
+ Результат = Новый СписокЗначений;
+
+ Результат.Добавить("Штрафы");
+
+ Возврат Результат;
+КонецФункции
+Функция ПолучитьСписокИсключений_Отчеты() Экспорт
+
+ Результат = ПолучитьИсключения(ВидыМетаданных.Отчеты, "");
+ Если ЗначениеЗаполнено(Результат) Тогда
+ Возврат Результат;
+ КонецЕсли;
+
+ Результат = Новый СписокЗначений;
+
+ //Результат.Добавить("Цены");
+
+ Возврат Результат;
+КонецФункции
+
+Функция ПолучитьСписокИсключений_Обработки() Экспорт
+
+ Результат = ПолучитьИсключения(ВидыМетаданных.Обработки, "");
+ Если ЗначениеЗаполнено(Результат) Тогда
+ Возврат Результат;
+ КонецЕсли;
+
+ Результат = Новый СписокЗначений;
+
+ Результат.Добавить("ТестОбработка_Форма_ИсключениеПриОткрытии");
+
+ Возврат Результат;
+КонецФункции
+
+// } ПереопределениеИсключений
+
+// { ФормированиеСпискаТестовыхСлучаев
+
+Процедура ДобавитьТестыФормСправочников(НаборТестов, НастройкаГруппировки)
+
+ Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Тогда
+ НаборТестов.НачатьГруппу("Справочники");
+ КонецЕсли;
+ Счетчик = 0;
+
Для Каждого МетаОбъект Из Метаданные.Справочники Цикл
+
+ Если НастройкаГруппировки.ГруппироватьПоКоличеству Тогда
+ Если Счетчик % НастройкаГруппировки.КоличествоВГруппе = 0 Тогда
+ ИмяГруппы = "Справочники (" + Строка(Счетчик + 1) + "..." + Строка(Счетчик + НастройкаГруппировки.КоличествоВГруппе) + ")";
+ НаборТестов.НачатьГруппу(ИмяГруппы);
+ КонецЕсли;
+ КонецЕсли;
+
+ Если НастройкаГруппировки.ГруппироватьПоВидуОбъекта Тогда
+ НаборТестов.НачатьГруппу("Справочник." + МетаОбъект.Имя);
+ КонецЕсли;
+
+ Счетчик = Счетчик + 1;
+
Если ПравоДоступа("Редактирование", МетаОбъект) Тогда
- ДобавитьТестДляОдногоМетаданного_Объекты(НаборТестов, МетаОбъект, "Тест_ОткрытьФормуСуществующегоЭлементаСправочника", ПолучитьСписокИсключений_Справочники_Существующие(),
- мИменаОсновныхФорм_Объекты, "Существующие элементы");
+ ДобавитьТестДляОдногоМетаданного_Объекты(
+ НаборТестов,
+ МетаОбъект,
+ "Тест_ОткрытьФормуСуществующегоЭлементаСправочника",
+ ПолучитьСписокИсключений_Справочники_Существующие(),
+ мИменаОсновныхФорм_Объекты, "Существующие элементы"
+ );
КонецЕсли;
Если ПравоДоступа("ИнтерактивноеДобавление", МетаОбъект) Тогда
- ДобавитьТестДляОдногоМетаданного_Объекты(НаборТестов, МетаОбъект, "Тест_ОткрытьФормуНовогоЭлементаСправочника", ПолучитьСписокИсключений_Справочники_Новые(),
- мИменаОсновныхФорм_Объекты, "Новые элементы");
+ ДобавитьТестДляОдногоМетаданного_Объекты(
+ НаборТестов,
+ МетаОбъект,
+ "Тест_ОткрытьФормуНовогоЭлементаСправочника",
+ ПолучитьСписокИсключений_Справочники_Новые(),
+ мИменаОсновныхФорм_Объекты,
+ "Новые элементы"
+ );
КонецЕсли;
Если ПравоДоступа("Добавление", МетаОбъект) Тогда
- ДобавитьТестДляОдногоМетаданного_Объекты(НаборТестов, МетаОбъект, "Тест_ОткрытьФормуНовогоЭлементаСправочникаСоздаваемогоКопированием", ПолучитьСписокИсключений_Справочники_Новые(),
- мИменаОсновныхФорм_Объекты, "Новые через копирование элементы");
+ ДобавитьТестДляОдногоМетаданного_Объекты(
+ НаборТестов,
+ МетаОбъект,
+ "Тест_ОткрытьФормуНовогоЭлементаСправочникаСоздаваемогоКопированием",
+ ПолучитьСписокИсключений_Справочники_Новые(),
+ мИменаОсновныхФорм_Объекты,
+ "Новые через копирование элементы"
+ );
КонецЕсли;
- ДобавитьТестДляМетаданного_ОдинОбъект(НаборТестов, МетаОбъект, "ТестДолжен_ОткрытьФорму_ПоМетаФорме", ПолучитьСписокИсключений_Справочники_Списки(), мИменаОсновныхФорм_Списки);
+ ДобавитьТестДляМетаданного_ОдинОбъект(
+ НаборТестов,
+ МетаОбъект,
+ "ТестДолжен_ОткрытьФорму_ПоМетаФорме",
+ ПолучитьСписокИсключений_Справочники_Списки(),
+ мИменаОсновныхФорм_Списки
+ );
+
КонецЦикла;
+
+КонецПроцедуры
+
+Процедура ДобавитьТестыФормДокументов(НаборТестов, НастройкаГруппировки)
+
+ Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Тогда
+ НаборТестов.НачатьГруппу("Документы");
+ КонецЕсли;
+ Счетчик = 0;
+
Для Каждого МетаОбъект Из Метаданные.Документы Цикл
+
+ Если НастройкаГруппировки.ГруппироватьПоКоличеству Тогда
+ Если Счетчик % НастройкаГруппировки.КоличествоВГруппе = 0 Тогда
+ ИмяГруппы = "Документы (" + Строка(Счетчик + 1) + "..." + Строка(Счетчик + НастройкаГруппировки.КоличествоВГруппе) + ")";
+ НаборТестов.НачатьГруппу(ИмяГруппы);
+ КонецЕсли;
+ КонецЕсли;
+
+ Если НастройкаГруппировки.ГруппироватьПоВидуОбъекта Тогда
+ НаборТестов.НачатьГруппу("Документ." + МетаОбъект.Имя);
+ КонецЕсли;
+
+ Счетчик = Счетчик + 1;
+
Если ПравоДоступа("Редактирование", МетаОбъект) Тогда
- ДобавитьТестДляОдногоМетаданного_Объекты(НаборТестов, МетаОбъект, "Тест_ОткрытьФормуСуществующегоДокумента", ПолучитьСписокИсключений_Документы_Существующие(),
- мИменаОсновныхФорм_Объекты, "Существующие документы");
-
- ДобавитьТестДляОдногоМетаданного_Объекты(НаборТестов, МетаОбъект, "Тест_ПеренестиДокументНаТекущийДень_и_ОткрытьЕгоФорму", ПолучитьСписокИсключений_Документы_ПеренестиДату(),
- мИменаОсновныхФорм_Объекты, "Перенос документа на текущий день");
+ ДобавитьТестДляОдногоМетаданного_Объекты(
+ НаборТестов,
+ МетаОбъект,
+ "Тест_ОткрытьФормуСуществующегоДокумента",
+ ПолучитьСписокИсключений_Документы_Существующие(),
+ мИменаОсновныхФорм_Объекты,
+ "Существующие документы"
+ );
+ ДобавитьТестДляОдногоМетаданного_Объекты(
+ НаборТестов,
+ МетаОбъект,
+ "Тест_ПеренестиДокументНаТекущийДень_и_ОткрытьЕгоФорму",
+ ПолучитьСписокИсключений_Документы_ПеренестиДату(),
+ мИменаОсновныхФорм_Объекты,
+ "Перенос документа на текущий день"
+ );
КонецЕсли;
Если ПравоДоступа("ИнтерактивноеДобавление", МетаОбъект) Тогда
- ДобавитьТестДляОдногоМетаданного_Объекты(НаборТестов, МетаОбъект, "Тест_ОткрытьФормуНовогоДокумента", ПолучитьСписокИсключений_Документы_Новые(),
- мИменаОсновныхФорм_Объекты, "Новые документы");
+ ДобавитьТестДляОдногоМетаданного_Объекты(
+ НаборТестов,
+ МетаОбъект,
+ "Тест_ОткрытьФормуНовогоДокумента",
+ ПолучитьСписокИсключений_Документы_Новые(),
+ мИменаОсновныхФорм_Объекты,
+ "Новые документы"
+ );
КонецЕсли;
- ДобавитьТестДляМетаданного_ОдинОбъект(НаборТестов, МетаОбъект, "ТестДолжен_ОткрытьФорму_ПоМетаФорме", ПолучитьСписокИсключений_Документы_Списки(), мИменаОсновныхФорм_Списки);
- КонецЦикла;
+ ДобавитьТестДляМетаданного_ОдинОбъект(
+ НаборТестов,
+ МетаОбъект,
+ "ТестДолжен_ОткрытьФорму_ПоМетаФорме",
+ ПолучитьСписокИсключений_Документы_Списки(),
+ мИменаОсновныхФорм_Списки
+ );
+
+ КонецЦикла;
+
+КонецПроцедуры
+
+Процедура ДобавитьТестыФормОбработок(НаборТестов, НастройкаГруппировки)
- ДобавитьТестПоМенеджеруМетаданных(НаборТестов, Метаданные.Обработки, "ТестДолжен_ОткрытьФорму_ПоМетаФорме", ПолучитьСписокИсключений_Обработки(), мИменаОсновныхФорм);
- ДобавитьТестПоМенеджеруМетаданных(НаборТестов, Метаданные.Отчеты, "ТестДолжен_ОткрытьФорму_ПоМетаФорме", ПолучитьСписокИсключений_Отчеты(), мИменаОсновныхФорм);
+ Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Тогда
+ НаборТестов.НачатьГруппу("Обработки");
+ КонецЕсли;
+
+ ДобавитьТестПоМенеджеруМетаданных(
+ НаборТестов,
+ Метаданные.Обработки,
+ "ТестДолжен_ОткрытьФорму_ПоМетаФорме",
+ ПолучитьСписокИсключений_Обработки(),
+ мИменаОсновныхФорм
+ );
КонецПроцедуры
-#КонецЕсли
+Процедура ДобавитьТестыФормОтчетов(НаборТестов, НастройкаГруппировки)
+
+ Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Тогда
+ НаборТестов.НачатьГруппу("Отчеты");
+ КонецЕсли;
+
+ ДобавитьТестПоМенеджеруМетаданных(
+ НаборТестов,
+ Метаданные.Отчеты,
+ "ТестДолжен_ОткрытьФорму_ПоМетаФорме",
+ ПолучитьСписокИсключений_Отчеты(),
+ мИменаОсновныхФорм
+ );
+
+КонецПроцедуры
-//}
+Процедура ДобавитьТестПоМенеджеруМетаданных(НаборТестов, менеджерМетаданного, имяТеста, списокИсключений, ИменаОсновныхФорм)
+
+ НастройкаГруппировки = ПолучитьНастройкуГруппировки(Настройки);
+
+ ЭтоОтчеты = (менеджерМетаданного = Метаданные.Отчеты);
+
+ Счетчик = 0;
+
+ Для Каждого МетаОбъект Из менеджерМетаданного Цикл
+
+ Если НастройкаГруппировки.ГруппироватьПоКоличеству Тогда
+ Если Счетчик % НастройкаГруппировки.КоличествоВГруппе = 0 Тогда
+ ИмяГруппы = ?(ЭтоОтчеты, "Отчеты", "Обработки") + " (" + Строка(Счетчик + 1) + "..." +
+ Строка(Счетчик + НастройкаГруппировки.КоличествоВГруппе) + ")";
+ НаборТестов.НачатьГруппу(ИмяГруппы);
+ КонецЕсли;
+ КонецЕсли;
+
+ Если НастройкаГруппировки.ГруппироватьПоВидуОбъекта Тогда
+ НаборТестов.НачатьГруппу(?(ЭтоОтчеты, "Отчет", "Обработка") + "." + МетаОбъект.Имя);
+ КонецЕсли;
+
+ Счетчик = Счетчик + 1;
+
+ ДобавитьТестДляМетаданного_ОдинОбъект(НаборТестов, МетаОбъект, имяТеста, списокИсключений, ИменаОсновныхФорм);
+
+ КонецЦикла;
+
+КонецПроцедуры
+
+Процедура ДобавитьТестДляМетаданного_ОдинОбъект(НаборТестов, Знач МетаОбъект, Знач имяТеста,
+ Знач списокИсключений, Знач ИменаОсновныхФорм)
+ ПрефиксПропускаемых = "";
+ ПропускатьТест = Ложь;
+
+ Если списокИсключений.НайтиПоЗначению(МетаОбъект.Имя) <> Неопределено Тогда
+ ПропускатьТест = Истина;
+ ПрефиксПропускаемых = "объект находится в исключениях";
+ КонецЕсли;
+
+ Если ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) Тогда
+ ПропускатьТест = Истина;
+ ПрефиксПропускаемых = "объект устарел";
+ КонецЕсли;
+
+ Если Не ПравоДоступа("Просмотр", МетаОбъект) Тогда
+ ПропускатьТест = Истина;
+ ПрефиксПропускаемых = "нет прав интерактивного доступа у пользователя";
+ КонецЕсли;
+
+ Если ПропускатьТест Тогда
+ имяТеста = ИмяМетодаПропускаТестов();
+ ПараметрыПропускаемогоТеста = НаборТестов.ПараметрыТеста(ПрефиксПропускаемых);
+ КонецЕсли;
+
+ МетаФормы = ПолучитьМетаФормыОбъектаДляПроверки(МетаОбъект, ИменаОсновныхФорм);
+
+ Для каждого МетаФорма Из МетаФормы Цикл
+
+ МетаФорма_ПолноеИмя = МетаФорма.ПолноеИмя();
+
+ Если Метаданные.ОсновнаяФормаОтчета = МетаФорма Тогда
+ МетаФорма_ПолноеИмя = МетаОбъект.ПолноеИмя() + ".Форма";
+ ИначеЕсли Метаданные.ОсновнаяФормаНастроекОтчета = МетаФорма Тогда
+ МетаФорма_ПолноеИмя = МетаОбъект.ПолноеИмя() + ".ФормаНастроек";
+ КонецЕсли;
+ //МетаОбъект.Имя <Отчет1>, МетаФорма_ПолноеИмя <Отчет.Отчет1.Форма.ФормаОтчета>
+ //МетаОбъект.Имя <Отчет2>, МетаФорма_ПолноеИмя <Отчет.Отчет2.Форма> // в УФ ОбщаяФорма.ФормаОтчета
+
+ ПредставлениеТеста = МетаФорма_ПолноеИмя;
+ ЕстьТранзакция = Истина;
+
+ ПропускатьТестФормы = Ложь;
+ Если Не ПропускатьТест Тогда
+ // Проверим, нет ли конкретно самой формы в исключениях.
+ ОтносительныйПутьФормы = МетаОбъект.Имя + ".Форма." + МетаФорма.Имя;
+ Если списокИсключений.НайтиПоЗначению(ОтносительныйПутьФормы) <> Неопределено Тогда
+ ПропускатьТестФормы = Истина;
+ ПрефиксПропускаемых = "форма находится в исключениях";
+ ПараметрыПропускаемогоТеста = НаборТестов.ПараметрыТеста(ПрефиксПропускаемых);
+ КонецЕсли;
+ КонецЕсли;
+
+ Если ПропускатьТест Или ПропускатьТестФормы Тогда
+ ПредставлениеТеста = ПрефиксПропускаемых + " : " + ПредставлениеТеста;
+ ПараметрыТеста = ПараметрыПропускаемогоТеста;
+ Иначе
+ ПараметрыТеста = НаборТестов.ПараметрыТеста(МетаФорма_ПолноеИмя, ЕстьТранзакция, МетаОбъект);
+ КонецЕсли;
+
+ НаборТестов.Добавить(имяТеста, ПараметрыТеста, ПредставлениеТеста);
+
+ КонецЦикла;
+
+КонецПроцедуры
-Процедура ПередЗапускомТеста() Экспорт
- ВыводитьСообщенияВЖурналРегистрации = Истина;
-
- НужноИсключениеЕслиНеНайденоДокументов = Ложь;
+Процедура ДобавитьТестДляОдногоМетаданного_Объекты( НаборТестов, Знач МетаОбъект, Знач имяТеста,
+ Знач списокИсключений, Знач ИменаОсновныхФорм,
+ Знач ПрефиксПредставленияТеста)
+ ПрефиксПропускаемых = "";
+ ПропускатьТест = Ложь;
- СоздатьФорму_ПолучениеФорм();
+ Если списокИсключений.НайтиПоЗначению(МетаОбъект.Имя) <> Неопределено Тогда
+ ПропускатьТест = Истина;
+ ПрефиксПропускаемых = "объект находится в исключениях";
+ КонецЕсли;
- НачатьТранзакцию();
-КонецПроцедуры
-
-Процедура ПослеЗапускаТеста() Экспорт
+ Если ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) Тогда
+ ПропускатьТест = Истина;
+ ПрефиксПропускаемых = "объект устарел";
+ КонецЕсли;
- ЗакрытьФорму();
+ Если Не (ПравоДоступа("Просмотр", МетаОбъект) и ПравоДоступа("Добавление", МетаОбъект)) Тогда
+ ПропускатьТест = Истина;
+ ПрефиксПропускаемых = "нет прав интерактивного доступа у пользователя";
+ КонецЕсли;
- Если ТранзакцияАктивна() Тогда
- ОтменитьТранзакцию();
+ Если ПропускатьТест Тогда
+ ПрефиксПредставленияТеста = ПрефиксПредставленияТеста + " : " + ПрефиксПропускаемых;
+ имяТеста = ИмяМетодаПропускаТестов();
+ ПараметрыПропускаемогоТеста = НаборТестов.ПараметрыТеста(ПрефиксПропускаемых);
КонецЕсли;
+ МетаФормы = ПолучитьМетаФормыОбъектаДляПроверки(МетаОбъект, ИменаОсновныхФорм);
+ Для каждого МетаФорма Из МетаФормы Цикл
+
+ МетаФорма_ПолноеИмя = МетаФорма.ПолноеИмя();
+ ПредставлениеТеста = ПрефиксПредставленияТеста + " : " + МетаФорма_ПолноеИмя;
+ ЕстьТранзакция = Истина;
+
+ ПропускатьТестФормы = Ложь;
+ Если Не ПропускатьТест Тогда
+ // Проверим, нет ли конкретно самой формы в исключениях.
+ ОтносительныйПутьФормы = МетаОбъект.Имя + ".Форма." + МетаФорма.Имя;
+ Если списокИсключений.НайтиПоЗначению(ОтносительныйПутьФормы) <> Неопределено Тогда
+ ПропускатьТестФормы = Истина;
+ ПараметрыПропускаемогоТеста = НаборТестов.ПараметрыТеста("форма находится в исключениях");
+ КонецЕсли;
+ КонецЕсли;
+
+ Если ПропускатьТест Или ПропускатьТестФормы Тогда
+ ПараметрыТеста = ПараметрыПропускаемогоТеста;
+ Иначе
+ ПараметрыТеста = НаборТестов.ПараметрыТеста(МетаОбъект.Имя, МетаФорма_ПолноеИмя, МетаФорма, ЕстьТранзакция);
+ КонецЕсли;
+
+ НаборТестов.Добавить(имяТеста, ПараметрыТеста, ПредставлениеТеста);
+
+ КонецЦикла;
+
КонецПроцедуры
-Процедура ТестДолжен_ПропуститьТестФормы(Знач ПричинаПропускаТеста) Экспорт
- КонтекстЯдра.ПропуститьТест(ПричинаПропускаТеста);
-КонецПроцедуры
+// } ФормированиеСпискаТестовыхСлучаев
+
+// { РаботаСФормами
Процедура ЗакрытьФорму()
Если ТипЗнч(ТестируемаяФорма) <> Тип("Форма") и ТипЗнч(ТестируемаяФорма) <> Тип("УправляемаяФорма") Тогда
@@ -136,34 +671,27 @@
КонецПроцедуры
-//{ блок работы с обычными и управляемыми формами - портирован из "Инструменты разработчика"
-Процедура ТестДолжен_ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, ЕстьТранзакция) Экспорт
- //Если ЕстьТранзакция Тогда
- // НачатьТранзакцию();
- //КонецЕсли;
+Функция ЭтоОбычнаяФорма(Форма)
+ Возврат ТипЗнч(Форма) = Тип("Форма");
+КонецФункции
+
+// Портировано из подсистемы "Инструменты разработчика"
+
+Процедура ТестДолжен_ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, ЕстьТранзакция, МетаданныеВладельцаФормы) Экспорт
- ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя);
+ ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, "", Неопределено, Ложь, МетаданныеВладельцаФормы);
- //Если ЕстьТранзакция Тогда
- // Если ТранзакцияАктивна() Тогда
- // ОтменитьТранзакцию();
- // КонецЕсли;
- //КонецЕсли;
КонецПроцедуры
-Процедура ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма_Имя = "", СсылкаОбъектаИлиСамОбъект = Неопределено, СоздаватьОбъект = Ложь) Экспорт
+Процедура ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма_Имя = "", СсылкаОбъектаИлиСамОбъект = Неопределено, СоздаватьОбъект = Ложь, МетаданныеВладельцаФормы=Неопределено) Экспорт
ВыводитьСообщения = Ложь;
ВнешнийОбъект = Неопределено;
КлючВременнойФормы = "908насмь9ыв";
ИмяОперации = МетаФорма_ПолноеИмя;
- Если ВыводитьСообщения Тогда
- Сообщить(ИмяОперации);
- КонецЕсли;
- Если ВыводитьСообщенияВЖурналРегистрации Тогда
- ЗаписьЖурналаРегистрации(Метаданные().Синоним, УровеньЖурналаРегистрации.Информация, , , "Операция: " + ИмяОперации);
- КонецЕсли;
+
+ ВывестиСообщение("Операция: " + ИмяОперации, УровеньЖурналаРегистрации.Информация, ВыводитьСообщения);
Форма = ПолучитьНовуюФорму(МетаФорма_ПолноеИмя, ВнешнийОбъект, КлючВременнойФормы);
Если Форма = Неопределено Тогда
@@ -227,7 +755,23 @@
Форма = ПолучитьФормуЛкс(МетаФорма_ПолноеИмя, ПараметрыФормы, , КлючВременнойФормы);
КонецЕсли;
КонецЕсли;
+
+ Если МетаданныеВладельцаФормы <> Неопределено И Метаданные.Справочники.Содержит(МетаданныеВладельцаФормы) Тогда
+ Если МетаданныеВладельцаФормы.Владельцы.Количество() Тогда
+ ВладелецСсылка = ПолучитьСсылкуНаВладельца(МетаданныеВладельцаФормы);
+ Попытка
+ Форма.ПараметрОтборПоВладельцу = ВладелецСсылка;
+ Исключение
+ КонецПопытки;
+ Попытка
+ Форма.ПараметрВыборПоВладельцу = ВладелецСсылка;
+ Исключение
+ КонецПопытки;
+ КонецЕсли;
+ КонецЕсли;
+
ТестироватьФорму(Форма, ИмяОперации);
+
КонецПроцедуры
Процедура СоздатьИменаОсновныхФорм() Экспорт
@@ -302,307 +846,71 @@
ИспользоватьУФ = Метаданные.ИспользоватьУправляемыеФормыВОбычномПриложении ИЛИ (ТекущийРежимЗапуска() <> РежимЗапускаКлиентскогоПриложения.ОбычноеПриложение);
МетаФормы = Новый Массив();
-
- Для Каждого ИмяОсновнойФормы Из ИменаОсновныхФорм Цикл
- Попытка
- МетаФорма = МетаОбъект[ИмяОсновнойФормы];
- Исключение
- Продолжить;
- КонецПопытки;
- Если МетаФорма = Неопределено Тогда
- Продолжить;
- КонецЕсли;
- Если МетаФормы.Найти(МетаФорма) <> Неопределено Тогда
- Продолжить;
- КонецЕсли;
- Если НЕ ИспользоватьУФ И МетаФорма.ТипФормы = Метаданные.СвойстваОбъектов.ТипФормы.Управляемая Тогда
- Продолжить;
- КонецЕсли;
- МетаФормы.Добавить(МетаФорма);
- КонецЦикла;
-
- Возврат МетаФормы;
-
-КонецФункции
-
-Функция ПолучитьФормуЛкс(ИмяФормы, Параметры = Неопределено, Владелец = Неопределено, Уникальность = Неопределено, Окно = Неопределено) Экспорт
-
- Возврат мПолучениеФорм.ПолучитьФормуЛкс(ИмяФормы, Параметры, Владелец, Уникальность, Окно);
-
-КонецФункции
-
-Функция ПолучитьНовуюФорму(МетаФорма, ВнешнийОбъект = Неопределено, КлючВременнойФормы = Неопределено)
-
- Форма = ПолучитьФормуЛкс(МетаФорма, , , КлючВременнойФормы); //ирНеглобальный.
- Возврат Форма;
-
-КонецФункции
-
-Процедура ТестироватьФорму(Форма, ИмяОперации = "") Экспорт
- ТестируемаяФорма = Форма;
- Форма.Открыть(); // К сожалению здесь исключения не ловятся http://partners.v8.1c.ru/forum/thread.jsp?id=1080350#1080350
- Утверждения.Проверить(ТестируемаяФорма.Открыта(), "ТестируемаяФорма """+ИмяОперации+""" не открылась, а должна была открыться");
-
- // Артур - мой код для доп.проверки формы
- Если ЭтоОбычнаяФорма(ТестируемаяФорма) Тогда
- ТестируемаяФорма.Обновить();
- Иначе
- ТестируемаяФорма.ОбновитьОтображениеДанных();
- КонецЕсли;
-
-КонецПроцедуры
-
-//} конец блока работы с управляемыми формами - из "Инструменты разработчика"
-
-Функция ИмяМетодаПропускаТестов()
- Возврат "ТестДолжен_ПропуститьТестФормы";
-КонецФункции
-
-Функция ЭтоОбычнаяФорма(Форма)
- Возврат ТипЗнч(Форма) = Тип("Форма");
-КонецФункции
-
-Процедура ДобавитьТестПоМенеджеруМетаданных(НаборТестов, менеджерМетаданного, имяТеста, списокИсключений, ИменаОсновныхФорм)
- Для Каждого МетаОбъект Из менеджерМетаданного Цикл
- ДобавитьТестДляМетаданного_ОдинОбъект(НаборТестов, МетаОбъект, имяТеста, списокИсключений, ИменаОсновныхФорм);
- КонецЦикла;
-КонецПроцедуры
-
-Процедура ДобавитьТестДляМетаданного_ОдинОбъект(
- НаборТестов, Знач МетаОбъект, Знач имяТеста,
- Знач списокИсключений, Знач ИменаОсновныхФорм)
-
- ПрефиксПропускаемых = "";
- ПропускатьТест = Ложь;
- Если списокИсключений.НайтиПоЗначению(МетаОбъект.Имя) <> Неопределено Тогда
- //Возврат;
- ПропускатьТест = Истина;
- ПрефиксПропускаемых = "объект находится в исключениях";
- КонецЕсли;
- Если ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) Тогда
- //Возврат;
- ПропускатьТест = Истина;
- ПрефиксПропускаемых = "объект устарел";
- КонецЕсли;
- Если Не ПравоДоступа("Просмотр", МетаОбъект) Тогда
- ПропускатьТест = Истина;
- ПрефиксПропускаемых = "нет прав интерактивного доступа у пользователя";
- КонецЕсли;
- Если ПропускатьТест Тогда
- имяТеста = ИмяМетодаПропускаТестов();
- ПараметрыТеста = НаборТестов.ПараметрыТеста(ПрефиксПропускаемых);
- КонецЕсли;
-
- //Если ПравоДоступа("Просмотр", МетаОбъект) Тогда
- МетаФормы = ПолучитьМетаФормыОбъектаДляПроверки(МетаОбъект, ИменаОсновныхФорм);
-
- Для каждого МетаФорма Из МетаФормы Цикл
-
- МетаФорма_ПолноеИмя = МетаФорма.ПолноеИмя();
-
- Если Метаданные.ОсновнаяФормаОтчета = МетаФорма Тогда
- МетаФорма_ПолноеИмя = МетаОбъект.ПолноеИмя() + ".Форма";
- ИначеЕсли Метаданные.ОсновнаяФормаНастроекОтчета = МетаФорма Тогда
- МетаФорма_ПолноеИмя = МетаОбъект.ПолноеИмя() + ".ФормаНастроек";
- КонецЕсли;
- //МетаОбъект.Имя <Отчет1>, МетаФорма_ПолноеИмя <Отчет.Отчет1.Форма.ФормаОтчета>
- //МетаОбъект.Имя <Отчет2>, МетаФорма_ПолноеИмя <Отчет.Отчет2.Форма> // в УФ ОбщаяФорма.ФормаОтчета
-
- ПредставлениеТеста = МетаФорма_ПолноеИмя;
- ЕстьТранзакция = Истина;
- //НаборТестов.Добавить(имяТеста, НаборТестов.ПараметрыТеста(МетаФорма_ПолноеИмя, ЕстьТранзакция), ПредставлениеТеста);
- Если ПропускатьТест Тогда
- ПредставлениеТеста = ПрефиксПропускаемых + " : " + ПредставлениеТеста;
- НаборТестов.Добавить(имяТеста, ПараметрыТеста, ПредставлениеТеста);
- Иначе
- НаборТестов.Добавить(имяТеста, НаборТестов.ПараметрыТеста(МетаФорма_ПолноеИмя, ЕстьТранзакция), ПредставлениеТеста);
- КонецЕсли;
- КонецЦикла;
- //КонецЕсли;
-КонецПроцедуры
-
-Процедура ДобавитьТестДляОдногоМетаданного_Объекты(
- НаборТестов, Знач МетаОбъект, Знач имяТеста,
- Знач списокИсключений, Знач ИменаОсновныхФорм, Знач ПрефиксПредставленияТеста)
-
- ПрефиксПропускаемых = "";
- ПропускатьТест = Ложь;
- Если списокИсключений.НайтиПоЗначению(МетаОбъект.Имя) <> Неопределено Тогда
- //Возврат;
- ПропускатьТест = Истина;
- ПрефиксПропускаемых = "объект находится в исключениях";
- КонецЕсли;
- Если ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) Тогда
- //Возврат;
- ПропускатьТест = Истина;
- ПрефиксПропускаемых = "объект устарел";
- КонецЕсли;
- Если Не (ПравоДоступа("Просмотр", МетаОбъект) и ПравоДоступа("Добавление", МетаОбъект)) Тогда
- ПропускатьТест = Истина;
- ПрефиксПропускаемых = "нет прав интерактивного доступа у пользователя";
- КонецЕсли;
- Если ПропускатьТест Тогда
- ПрефиксПредставленияТеста = ПрефиксПредставленияТеста + " : " + ПрефиксПропускаемых;
- имяТеста = ИмяМетодаПропускаТестов();
- ПараметрыТеста = НаборТестов.ПараметрыТеста(ПрефиксПропускаемых);
- КонецЕсли;
- //Если ПравоДоступа("Просмотр", МетаОбъект) и ПравоДоступа("Добавление", МетаОбъект)
- //Тогда
- МетаФормы = ПолучитьМетаФормыОбъектаДляПроверки(МетаОбъект, ИменаОсновныхФорм);
- Для каждого МетаФорма Из МетаФормы Цикл
-
- МетаФорма_ПолноеИмя = МетаФорма.ПолноеИмя();
- ПредставлениеТеста = ПрефиксПредставленияТеста + " : " + МетаФорма_ПолноеИмя;
- ЕстьТранзакция = Истина;
- //НаборТестов.Добавить(имяТеста, НаборТестов.ПараметрыТеста(МетаОбъект.Имя, МетаФорма_ПолноеИмя, МетаФорма, ЕстьТранзакция), ПредставлениеТеста);
- Если ПропускатьТест Тогда
- НаборТестов.Добавить(имяТеста, ПараметрыТеста, ПредставлениеТеста);
- Иначе
- НаборТестов.Добавить(имяТеста, НаборТестов.ПараметрыТеста(МетаОбъект.Имя, МетаФорма_ПолноеИмя, МетаФорма, ЕстьТранзакция), ПредставлениеТеста);
- КонецЕсли;
- КонецЦикла;
- //КонецЕсли;
-КонецПроцедуры
-
-Функция ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) Экспорт
- Возврат Найти(НРег(МетаОбъект.Имя), НРег("Удалить")) = 1;
-КонецФункции
-
-Процедура Тест_ОткрытьФормуСуществующегоДокумента(МетаИмя,МетаФорма_ПолноеИмя,МетаФорма, ЕстьТранзакция) Экспорт
- ИД = МетаИмя;
- Док = ПолучитьСуществующийДокументОбъект(ИД, НужноИсключениеЕслиНеНайденоДокументов, "Тест_ОткрытьФормуСуществующегоДокумента");
-
- Если Док <> Неопределено Тогда
- ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма.Имя, Док.Ссылка);
- КонецЕсли;
-КонецПроцедуры
-
-Процедура Тест_ПеренестиДокументНаТекущийДень_и_ОткрытьЕгоФорму(МетаИмя,МетаФорма_ПолноеИмя,МетаФорма, ЕстьТранзакция) Экспорт
- ИД = МетаИмя;
- Док = ПолучитьСуществующийДокументОбъект(ИД, Ложь, "Тест_ПеренестиДокументНаТекущийДень_и_ОткрытьЕгоФорму");
- Если Док = Неопределено Тогда
- Возврат;
- КонецЕсли;
-
- Док.Дата = ТекущаяДата();
- Док.ОбменДанными.Загрузка = Истина;
- Док.Записать();
-
- ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма.Имя, Док.Ссылка);
-КонецПроцедуры
-
-Процедура Тест_ОткрытьФормуНовогоДокумента(МетаИмя,МетаФорма_ПолноеИмя,МетаФорма, ЕстьТранзакция) Экспорт
- ИД = МетаИмя;
- Док = Документы[ИД].СоздатьДокумент();
- Мета = Док.Метаданные();
- Если НЕ ПравоДоступа("ИнтерактивноеДобавление", Мета) Тогда
- Возврат;
- КонецЕсли;
- Если Мета.ДлинаНомера <> 0 Тогда
- Попытка
- Док.УстановитьНовыйНомер();
- Исключение
- КонецПопытки;
- КонецЕсли;
-
- ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма.Имя, Док, Ложь);
-КонецПроцедуры
-
-Функция ПолучитьСуществующийДокументОбъект(ИД, НужноИсключениеЕслиНеНайденоДокументов, ДопОписаниеДляИсключения)
- выборка = Документы[ИД].Выбрать(,,, "Дата Убыв");
- уcпешно = выборка.Следующий();
- Если Не уcпешно Тогда
- Если НужноИсключениеЕслиНеНайденоДокументов Тогда
- ВызватьИсключение ДопОписаниеДляИсключения + ": выборка.Следующий() - не найдено существующих документов! ";
- Иначе
- Возврат Неопределено;
- КонецЕсли;
- КонецЕсли;
- Док = выборка.ПолучитьОбъект();
- Возврат Док;
-КонецФункции
-
-Функция ПолучитьСуществующийДокументОбъектИВернутьСсылку(ИД, НужноИсключениеЕслиНеНайденоДокументов, ДопОписаниеДляИсключения) Экспорт
- Док = ПолучитьСуществующийДокументОбъект(ИД, НужноИсключениеЕслиНеНайденоДокументов, ДопОписаниеДляИсключения);
- Возврат ?(Док = Неопределено, Неопределено, Док.Ссылка);
-КонецФункции
-
-Процедура Тест_ОткрытьФормуСуществующегоЭлементаСправочника(МетаИмя,МетаФорма_ПолноеИмя,МетаФорма, ЕстьТранзакция) Экспорт
- ИД = МетаИмя;
- Элем = СоздатьЭлемент(ИД, "существующий");
- ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма.Имя, Элем.Ссылка);
-КонецПроцедуры
-
-Процедура Тест_ОткрытьФормуНовогоЭлементаСправочника(МетаИмя,МетаФорма_ПолноеИмя,МетаФорма, ЕстьТранзакция) Экспорт
- ИД = МетаИмя;
- Элем = Справочники[ИД].СоздатьЭлемент();
- Мета = Элем.Метаданные();
- Если НЕ ПравоДоступа("ИнтерактивноеДобавление", Мета) Тогда
- Возврат;
- КонецЕсли;
- Если Мета.ДлинаНаименования <> 0 Тогда
+
+ Для Каждого ИмяОсновнойФормы Из ИменаОсновныхФорм Цикл
Попытка
- Элем.Наименование = "новый";
+ МетаФорма = МетаОбъект[ИмяОсновнойФормы];
Исключение
+ Продолжить;
КонецПопытки;
- КонецЕсли;
+ Если МетаФорма = Неопределено Тогда
+ Продолжить;
+ КонецЕсли;
+ Если МетаФормы.Найти(МетаФорма) <> Неопределено Тогда
+ Продолжить;
+ КонецЕсли;
+ Если НЕ ИспользоватьУФ И МетаФорма.ТипФормы = Метаданные.СвойстваОбъектов.ТипФормы.Управляемая Тогда
+ Продолжить;
+ КонецЕсли;
+ МетаФормы.Добавить(МетаФорма);
+ КонецЦикла;
- ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма.Имя, Элем, Ложь);
-КонецПроцедуры
-
-Процедура Тест_ОткрытьФормуНовогоЭлементаСправочникаСоздаваемогоКопированием(МетаИмя,МетаФорма_ПолноеИмя,МетаФорма, ЕстьТранзакция) Экспорт
- ИД = МетаИмя;
- Элем = СоздатьЭлемент(ИД, "копирование", "ИнтерактивноеДобавление");
- Если Элем = Неопределено Тогда
- Возврат;
- КонецЕсли;
+ Возврат МетаФормы;
- ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма.Имя, Элем.Ссылка, Истина);
-КонецПроцедуры
-
-Функция СоздатьЭлемент(ИД, Наименование, ПроверяемоеПравоДоступа = Неопределено)
- Элем = Справочники[ИД].СоздатьЭлемент();
- Мета = Элем.Метаданные();
- Если ПроверяемоеПравоДоступа <> Неопределено И НЕ ПравоДоступа(ПроверяемоеПравоДоступа, Мета) Тогда
- Возврат Неопределено;
- КонецЕсли;
+КонецФункции
- Если Мета.ДлинаНаименования <> 0 Тогда
- Попытка
- Элем.Наименование = Наименование;
- Исключение
- КонецПопытки;
- КонецЕсли;
+Функция ПолучитьФормуЛкс(ИмяФормы, Параметры = Неопределено, Владелец = Неопределено, Уникальность = Неопределено, Окно = Неопределено) Экспорт
+
+ Возврат мПолучениеФорм.ПолучитьФормуЛкс(ИмяФормы, Параметры, Владелец, Уникальность, Окно);
- Если Мета.ДлинаКода <> 0 Тогда
- Элем.УстановитьНовыйКод();
- КонецЕсли;
- Элем.ОбменДанными.Загрузка = Истина;
- Элем.Записать();
- Возврат Элем;
КонецФункции
-Функция СоздатьЭлементИВернутьСсылку(ИД, Наименование, ПроверяемоеПравоДоступа = Неопределено) Экспорт
- Элем = СоздатьЭлемент(ИД, Наименование, ПроверяемоеПравоДоступа);
- Возврат ?(Элем = Неопределено, Неопределено, Элем.Ссылка);
+Функция ПолучитьНовуюФорму(МетаФорма, ВнешнийОбъект = Неопределено, КлючВременнойФормы = Неопределено)
+
+ Форма = ПолучитьФормуЛкс(МетаФорма, , , КлючВременнойФормы); //ирНеглобальный.
+ Возврат Форма;
+
КонецФункции
-//{ блок работы с настройками
-//Функция ПолучитьНастройки(Знач ФайлТеста, Знач ПутьНастройки) Экспорт
-//
-// Если Настройки = Неопределено Тогда
-// ПутьФайлаНастроек = СтрШаблон("%1%2", ФайлТеста.Путь, ПутьНастройки);
-// ФайлНастроек = Новый Файл(ПутьФайлаНастроек);
-// Если ФайлНастроек.Существует() Тогда
-// ЧтениеJSON = Новый ЧтениеJSON;
-// ЧтениеJSON.ОткрытьФайл(ПутьФайлаНастроек);
+Процедура ТестироватьФорму(Форма, ИмяОперации = "") Экспорт
+ ТестируемаяФорма = Форма;
+ Форма.Открыть(); // К сожалению здесь исключения не ловятся http://partners.v8.1c.ru/forum/thread.jsp?id=1080350#1080350
+ Утверждения.Проверить(ТестируемаяФорма.Открыта(), "ТестируемаяФорма """+ИмяОперации+""" не открылась, а должна была открыться");
+
+ // Артур - мой код для доп.проверки формы
+ Если ЭтоОбычнаяФорма(ТестируемаяФорма) Тогда
+ ТестируемаяФорма.Обновить();
+ Иначе
+ ТестируемаяФорма.ОбновитьОтображениеДанных();
+ КонецЕсли;
+
+КонецПроцедуры
+
+// } РаботаСФормами
-// Настройки = ПрочитатьJSON(ЧтениеJSON, Ложь);
-// Настройки = Новый ФиксированнаяСтруктура(Настройки);
-// КонецЕсли;
-// КонецЕсли;
-// Возврат Настройки;
-//КонецФункции
+// { РаботаСНастройками
+
+Процедура ЗагрузитьНастройки()
+
+ ПутьНастройки = "smoke";
+ ПлагинНастроек = КонтекстЯдра.Плагин("Настройки");
+ Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки);
+
+ Если ЕстьНастройка("ВыводитьСообщенияВЖурналРегистрации") Тогда
+ ВыводитьСообщенияВЖурналРегистрации = Настройки.ВыводитьСообщенияВЖурналРегистрации;
+ КонецЕсли;
+
+КонецПроцедуры
Функция ПолучитьИсключения(Знач ВидМетаданного, Знач ВидПроверки)
Если Не ЗначениеЗаполнено(Настройки) Тогда
@@ -625,7 +933,6 @@
Результат = Новый СписокЗначений;
Для Каждого ИмяМетаданного Из МассивИсключений Цикл
Результат.Добавить(ИмяМетаданного);
- //Сообщить(СтрШаблон("Исключения %1.%2 - %3", ВидМетаданного, ВидПроверки, ИмяМетаданного));
КонецЦикла;
КонецЕсли;
КонецЕсли;
@@ -715,134 +1022,237 @@
КонецЕсли;
Возврат ВидыПроверок;
КонецФункции
-//}
-//{ блок переопределения исключений, чтобы не открывать формы
-Функция ПолучитьСписокИсключений_Справочники_Списки() Экспорт
+Функция ПолучитьНастройкуГруппировки(СтруктураНастроек)
- Результат = ПолучитьИсключения(ВидыМетаданных.Справочники, ВидыПроверок.Списки);
- Если ЗначениеЗаполнено(Результат) Тогда
- Возврат Результат;
+ Перем СпособГруппировки;
+
+ НастройкаГруппировки = Новый Структура;
+ НастройкаГруппировки.Вставить("КоличествоВГруппе", 20);
+
+ Если ТипЗнч(СтруктураНастроек) = Тип("Структура") Тогда
+ СтруктураНастроек.Свойство("СпособГруппировки", СпособГруппировки);
+ СтруктураНастроек.Свойство("КоличествоВГруппе", НастройкаГруппировки.КоличествоВГруппе);
КонецЕсли;
- Результат = Новый СписокЗначений;
+ Если ТипЗнч(СпособГруппировки) <> Тип("Массив") Тогда
+ МассивСпособов = Новый Массив;
+ МассивСпособов.Добавить(СпособГруппировки);
+ СпособГруппировки = МассивСпособов;
+ КонецЕсли;
- Результат.Добавить("ирАлгоритмы");
+ НастройкаГруппировки.Вставить("ГруппироватьПоВидуМетаданных", СпособГруппировки.Найти(СпособыГруппировки.ПоВидуМетаданных) <> Неопределено);
+ НастройкаГруппировки.Вставить("ГруппироватьПоВидуОбъекта" , СпособГруппировки.Найти(СпособыГруппировки.ПоВидуОбъекта) <> Неопределено);
+ НастройкаГруппировки.Вставить("ГруппироватьПоКоличеству" , СпособГруппировки.Найти(СпособыГруппировки.ПоКоличеству) <> Неопределено);
+
+ Возврат НастройкаГруппировки;
- Возврат Результат;
КонецФункции
-Функция ПолучитьСписокИсключений_Справочники_Существующие() Экспорт
-
- Результат = ПолучитьИсключения(ВидыМетаданных.Справочники, ВидыПроверок.Существующие);
- Если ЗначениеЗаполнено(Результат) Тогда
- Возврат Результат;
+Функция СпособыГруппировки() Экспорт
+ Если СпособыГруппировки = Неопределено Тогда
+ СпособыГруппировки = Новый Структура;
+ СпособыГруппировки.Вставить("НеГруппировать", "НеГруппировать");
+ СпособыГруппировки.Вставить("ПоВидуМетаданных", "ПоВидуМетаданных");
+ СпособыГруппировки.Вставить("ПоВидуОбъекта", "ПоВидуОбъекта");
+ СпособыГруппировки.Вставить("ПоКоличеству", "ПоКоличеству");
+ СпособыГруппировки = Новый ФиксированнаяСтруктура(СпособыГруппировки);
КонецЕсли;
-
- Результат = Новый СписокЗначений;
-
- Результат.Добавить("ирАлгоритмы");
- //Результат.Добавить("ПростойСправочник");
-
- Возврат Результат;
+ Возврат СпособыГруппировки;
КонецФункции
-Функция ПолучитьСписокИсключений_Справочники_Новые() Экспорт
+// Позволяет одним вызовом получить значение из вложенных друг в друга структур
+// по строке ключей, объединенных точкой.
+// Пример:
+// Структура = Новый Структура("Ключ1", Новый Структура("Ключ2", Новый Структура("Ключ3", 42)));
+// РезультатПроверки = ЕстьНастройка("Ключ1.Ключ2.Ключ3", ВремЗнач);
+// В результате получим ВремЗнач == 42
+//
+Функция ЕстьНастройка(ПутьНастроек, СтруктураНастроек = Неопределено)
- Результат = ПолучитьИсключения(ВидыМетаданных.Справочники, ВидыПроверок.Новые);
- Если ЗначениеЗаполнено(Результат) Тогда
- Возврат Результат;
+ // TODO: Метод нужно перенести в плагин "Настройки".
+
+ Если СтруктураНастроек = Неопределено Тогда
+ СтруктураНастроек = Настройки;
КонецЕсли;
- Результат = Новый СписокЗначений;
+ Если ТипЗнч(СтруктураНастроек) = Тип("Структура") Тогда
+
+ ПозТочки = Найти(ПутьНастроек, ".");
+
+ Если ПозТочки = 0 Тогда
+ Возврат СтруктураНастроек.Свойство(ПутьНастроек);
+ Иначе
+ ИмяТекущегоСвойства = Лев(ПутьНастроек, ПозТочки - 1);
+ ОстатокПути = Сред(ПутьНастроек, ПозТочки + 1);
+ Если СтруктураНастроек.Свойство(ИмяТекущегоСвойства) Тогда
+ Возврат ЕстьНастройка(ОстатокПути, СтруктураНастроек[ИмяТекущегоСвойства]);
+ КонецЕсли;
+ КонецЕсли;
+
+ КонецЕсли;
- Результат.Добавить("ирАлгоритмы");
- //Результат.Добавить("ПростойСправочник");
+ Возврат Ложь;
- Возврат Результат;
КонецФункции
-Функция ПолучитьСписокИсключений_Документы_Списки() Экспорт
-
- Результат = ПолучитьИсключения(ВидыМетаданных.Документы, ВидыПроверок.Списки);
- Если ЗначениеЗаполнено(Результат) Тогда
- Возврат Результат;
+// } РаботаСНастройками
+
+// { ПоискИСозданиеОбъектов
+
+Функция ПолучитьСуществующийДокументОбъект(ИД, НужноИсключениеЕслиНеНайденоДокументов, ДопОписаниеДляИсключения)
+ выборка = Документы[ИД].Выбрать(,,, "Дата Убыв");
+ уcпешно = выборка.Следующий();
+ Если Не уcпешно Тогда
+ Если НужноИсключениеЕслиНеНайденоДокументов Тогда
+ ВызватьИсключение ДопОписаниеДляИсключения + ": выборка.Следующий() - не найдено существующих документов! ";
+ Иначе
+ Возврат Неопределено;
+ КонецЕсли;
КонецЕсли;
-
- Результат = Новый СписокЗначений;
-
- //Результат.Добавить("Штрафы");
-
- Возврат Результат;
+ Док = выборка.ПолучитьОбъект();
+ Возврат Док;
КонецФункции
-Функция ПолучитьСписокИсключений_Документы_Существующие() Экспорт
+Функция ПолучитьСуществующийДокументОбъектИВернутьСсылку(ИД, НужноИсключениеЕслиНеНайденоДокументов, ДопОписаниеДляИсключения) Экспорт
+ Док = ПолучитьСуществующийДокументОбъект(ИД, НужноИсключениеЕслиНеНайденоДокументов, ДопОписаниеДляИсключения);
+ Возврат ?(Док = Неопределено, Неопределено, Док.Ссылка);
+КонецФункции
+
+Функция СоздатьЭлемент(ИД, Наименование, ПроверяемоеПравоДоступа = Неопределено)
- Результат = ПолучитьИсключения(ВидыМетаданных.Документы, ВидыПроверок.Существующие);
- Если ЗначениеЗаполнено(Результат) Тогда
- Возврат Результат;
- КонецЕсли;
+ Элем = Справочники[ИД].СоздатьЭлемент();
+ Мета = Элем.Метаданные();
- Результат = Новый СписокЗначений;
+ Если ПроверяемоеПравоДоступа <> Неопределено И НЕ ПравоДоступа(ПроверяемоеПравоДоступа, Мета) Тогда
+ Возврат Неопределено;
+ КонецЕсли;
+
+ Если Мета.ДлинаНаименования <> 0 Тогда
+ Попытка
+ Элем.Наименование = Наименование;
+ Исключение
+ КонецПопытки;
+ КонецЕсли;
- //Результат.Добавить("Штрафы");
+ Если Мета.ДлинаКода <> 0 Тогда
+ Элем.УстановитьНовыйКод();
+ КонецЕсли;
- Возврат Результат;
-КонецФункции
-
-Функция ПолучитьСписокИсключений_Документы_ПеренестиДату() Экспорт
+ Если Мета.Владельцы.Количество() Тогда
+ Элем.Владелец = ПолучитьСсылкуНаВладельца(Мета, "Владелец для: " + Наименование);
+ КонецЕсли;
- Результат = ПолучитьИсключения(ВидыМетаданных.Документы, ВидыПроверок.ПеренестиДату);
- Если ЗначениеЗаполнено(Результат) Тогда
- Возврат Результат;
+ Если ЕстьНастройка("Справочники.ЗначенияРеквизитовНовых." + Мета.Имя) Тогда
+ Для каждого Реквизит из Настройки.Справочники.ЗначенияРеквизитовНовых[Мета.Имя] Цикл
+ Попытка
+ Элем[Реквизит.Ключ] = ЗначениеРеквизита(Мета, Реквизит.Ключ, Реквизит.Значение);
+ Исключение
+ ВывестиСообщение(ОписаниеОшибки(), УровеньЖурналаРегистрации.Предупреждение);
+ КонецПопытки;
+ КонецЦикла;
КонецЕсли;
- Результат = Новый СписокЗначений;
+ Элем.ОбменДанными.Загрузка = Истина;
+ Элем.Записать();
- //Результат.Добавить("Штрафы");
+ Возврат Элем;
- Возврат Результат;
КонецФункции
-Функция ПолучитьСписокИсключений_Документы_Новые() Экспорт
+Функция СоздатьЭлементИВернутьСсылку(ИД, Наименование, ПроверяемоеПравоДоступа = Неопределено) Экспорт
+ Элем = СоздатьЭлемент(ИД, Наименование, ПроверяемоеПравоДоступа);
+ Возврат ?(Элем = Неопределено, Неопределено, Элем.Ссылка);
+КонецФункции
+
+Функция ПолучитьМетаданныеВладельца(КоллекцияМетаданныхВладельцев, Индекс=0)
+ Счетчик = 0;
+ Для каждого Элемент из КоллекцияМетаданныхВладельцев Цикл
+ Если Счетчик = Индекс Тогда
+ Возврат Элемент;
+ КонецЕсли;
+ Счетчик = Счетчик + 1;
+ КонецЦикла;
+ ВызватьИсключение "Индекс за границей диапазона";
+КонецФункции
+
+Функция ПолучитьСсылкуНаВладельца(МетаданныеПодчиненного, НаименованиеПодчиненного="Элемент-владелец")
- Результат = ПолучитьИсключения(ВидыМетаданных.Документы, ВидыПроверок.Новые);
- Если ЗначениеЗаполнено(Результат) Тогда
- Возврат Результат;
+ МетаИмяВладельца = Неопределено;
+
+ Если ЕстьНастройка("Справочники.Подчиненные") Тогда
+ Настройки.Справочники.Подчиненные.Свойство(МетаданныеПодчиненного.Имя, МетаИмяВладельца);
КонецЕсли;
- Результат = Новый СписокЗначений;
+ Если МетаИмяВладельца = Неопределено Тогда
+ МетаИмяВладельца = ПолучитьМетаданныеВладельца(МетаданныеПодчиненного.Владельцы).Имя;
+ КонецЕсли;
- Результат.Добавить("Штрафы");
+ Возврат СоздатьЭлементИВернутьСсылку(МетаИмяВладельца, НаименованиеПодчиненного);
- Возврат Результат;
КонецФункции
-Функция ПолучитьСписокИсключений_Отчеты() Экспорт
-
- Результат = ПолучитьИсключения(ВидыМетаданных.Отчеты, "");
- Если ЗначениеЗаполнено(Результат) Тогда
- Возврат Результат;
+// } ПоискИСозданиеОбъектов
+
+// { ВспомогательныеМетоды
+
+Функция ИмяМетодаПропускаТестов()
+ Возврат "ТестДолжен_ПропуститьТестФормы";
+КонецФункции
+
+Функция ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) Экспорт
+ Возврат Найти(НРег(МетаОбъект.Имя), НРег("Удалить")) = 1;
+КонецФункции
+
+Функция ВидМетаданныхИсключенИзТестирования(ВидМетаданных)
+ Если ЕстьНастройка(ВидМетаданных) Тогда
+ Возврат (ТипЗнч(Настройки[ВидМетаданных]) = Тип("Булево") И НЕ Настройки[ВидМетаданных]);
КонецЕсли;
-
- Результат = Новый СписокЗначений;
-
- //Результат.Добавить("Цены");
-
- Возврат Результат;
+ Возврат Ложь;
КонецФункции
-Функция ПолучитьСписокИсключений_Обработки() Экспорт
+Функция ЗначениеРеквизита(МетаданныеОбъекта, ИмяРеквизита, ЗначениеРеквизитаИзФайла)
- Результат = ПолучитьИсключения(ВидыМетаданных.Обработки, "");
- Если ЗначениеЗаполнено(Результат) Тогда
- Возврат Результат;
+ ТипРеквизита = МетаданныеОбъекта.Реквизиты[ИмяРеквизита].Тип.Типы()[0];
+
+ Если ЭтоПримитивныйТипДанных(ТипРеквизита) Тогда
+ Возврат МетаданныеОбъекта.Реквизиты[ИмяРеквизита].Тип.ПривестиЗначение(ЗначениеРеквизитаИзФайла);
КонецЕсли;
+
+ // Значит, это ссылочный тип данных.
+ Попытка
+ МетаданныеЗначения = Метаданные.НайтиПоТипу(ТипРеквизита);
+ Если Метаданные.Справочники.Содержит(МетаданныеЗначения) Тогда
+ Возврат СоздатьЭлементИВернутьСсылку(МетаданныеЗначения.Имя, ЗначениеРеквизитаИзФайла);
+ ИначеЕсли Метаданные.Перечисления.Содержит(МетаданныеЗначения) Тогда
+ Возврат Перечисления[МетаданныеЗначения.Имя][ЗначениеРеквизитаИзФайла];
+ КонецЕсли;
+ // TODO: поддержку документов и других ссылочных типов данных (добавим по необходимости)
+ Исключение
+ КонецПопытки;
+
+ Возврат Неопределено;
+
+КонецФункции
+
+Функция ЭтоПримитивныйТипДанных(Тип)
+ Возврат Тип = Тип("Строка") Или Тип = Тип("Число")
+ Или Тип = Тип("Дата") Или Тип = Тип("Булево");
+КонецФункции
+
+Функция ВывестиСообщение(ТекстСообщения, Знач УровеньЖР=Неопределено, Сообщать=Ложь)
- Результат = Новый СписокЗначений;
+ Если Сообщать Тогда
+ Сообщить(ТекстСообщения, ?(УровеньЖР = УровеньЖурналаРегистрации.Ошибка, СтатусСообщения.ОченьВажное, СтатусСообщения.Обычное));
+ КонецЕсли;
- Результат.Добавить("ТестОбработка_Форма_ИсключениеПриОткрытии");
+ Если ВыводитьСообщенияВЖурналРегистрации Тогда
+ Если УровеньЖР = Неопределено Тогда
+ УровеньЖР = УровеньЖурналаРегистрации.Информация;
+ КонецЕсли;
+ ЗаписьЖурналаРегистрации(Метаданные().Синоним, УровеньЖР, , , ТекстСообщения);
+ КонецЕсли;
- Возврат Результат;
КонецФункции
-//} конец блока
\ No newline at end of file
+
+// } ВспомогательныеМетоды
diff --git "a/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/maps.txt" "b/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/maps.txt"
index 0e9e6201..30d40651 100644
--- "a/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/maps.txt"
+++ "b/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/maps.txt"
@@ -1,2 +1,2 @@
-Form\УправляемаяФорма\Форма.bsl-->45cb56ba-09f2-4931-88c4-1e63a1a8f37c.0 (50, 517)
+Form\УправляемаяФорма\Форма.bsl-->45cb56ba-09f2-4931-88c4-1e63a1a8f37c.0 (29, 496)
Макеты\СозданиеОдногоПользователяИБ.mxl-->724d5548-5d6b-4e19-98cf-0ea3ae12c0a7.0
diff --git "a/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/45cb56ba-09f2-4931-88c4-1e63a1a8f37c" "b/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/45cb56ba-09f2-4931-88c4-1e63a1a8f37c"
index 8febb648..c0c30adc 100644
--- "a/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/45cb56ba-09f2-4931-88c4-1e63a1a8f37c"
+++ "b/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/45cb56ba-09f2-4931-88c4-1e63a1a8f37c"
@@ -1,15 +1,10 @@
{1,
{1,
{0,
-{12,
-{1,
+{9,
+{0,
{0,0,45cb56ba-09f2-4931-88c4-1e63a1a8f37c},"УправляемаяФорма",
-{1,"ru","Управляемая форма"},"",0,1,32e087ab-1491-49b6-aba7-43571b41ac2b,3},0,1,
-{2,
-{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,1},
-{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,2}
-}
-},
+{1,"ru","Управляемая форма"},""},0,1},
{0}
}
},0}
\ No newline at end of file
diff --git "a/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/45cb56ba-09f2-4931-88c4-1e63a1a8f37c.0" "b/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/45cb56ba-09f2-4931-88c4-1e63a1a8f37c.0"
index c2984367..58c82364 100644
--- "a/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/45cb56ba-09f2-4931-88c4-1e63a1a8f37c.0"
+++ "b/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/45cb56ba-09f2-4931-88c4-1e63a1a8f37c.0"
@@ -1,9 +1,9 @@
-{3,
-{46,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1,
+{2,
+{28,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1,
{1,0},0,0,1,1,1,0,1,0,
-{0,1,0},
+{0},
{0},1,
-{21,
+{17,
{-1,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1,
{0,
{0,
@@ -14,40 +14,19 @@
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},1,
-{0,0,1},0,1,0,0,0,3,3},0,"","",1,
-{21,
+{0,0,1},0,1},0,"","",1,
+{17,
{0},0,0,0,7,"Navigator",
{1,0},
{1,0},0,1,0,0,0,2,2,
{3,4,
{0}
},
-{7,3,0,1,100},
-{0,0,0},0,0,1,0,1,
-{10,
-{0},0,0,0,0,"NavigatorРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},0,3,3},1,"",2,0,0,0,0,0,3,3,0,0,2,100,1,1,0},"&НаКлиенте
+{6,3,0,1},
+{0,0,0},0,0,1}
+},"&НаКлиенте
Перем КонтекстЯдра;
&НаКлиенте
Перем Ожидаем;
@@ -588,10 +567,10 @@ Oi8vdjguMWMucnUvOC4xL2RhdGEvdWkiIHhtbG5zOndlYj0iaHR0cDovL3Y4LjFj
LnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93ZWIiIHhtbG5zOndpbj0iaHR0cDovL3Y4
LjFjLnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93aW5kb3dzIiB4bWxuczp4cz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDov
-L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiPg0KCTxvdXRwdXRQ
-YXJhbWV0ZXJzLz4NCjwvU2V0dGluZ3M+}
+L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=}
},
{0,0},
{0,0},
{0,0},
-{0,0},0,0}
\ No newline at end of file
+{0,0}
+}
\ No newline at end of file
diff --git "a/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/724d5548-5d6b-4e19-98cf-0ea3ae12c0a7" "b/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/724d5548-5d6b-4e19-98cf-0ea3ae12c0a7"
index cc71f243..6650d9e6 100644
--- "a/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/724d5548-5d6b-4e19-98cf-0ea3ae12c0a7"
+++ "b/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/724d5548-5d6b-4e19-98cf-0ea3ae12c0a7"
@@ -1,6 +1,6 @@
{1,
{2,0,
-{1,
+{0,
{0,0,724d5548-5d6b-4e19-98cf-0ea3ae12c0a7},"СозданиеОдногоПользователяИБ",
-{1,"ru","Создание одного пользователя ИБ"},"",0,0}
+{1,"ru","Создание одного пользователя ИБ"},""}
},0}
\ No newline at end of file
diff --git "a/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/724d5548-5d6b-4e19-98cf-0ea3ae12c0a7.0" "b/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/724d5548-5d6b-4e19-98cf-0ea3ae12c0a7.0"
index d83dfaab..eec1bc63 100644
Binary files "a/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/724d5548-5d6b-4e19-98cf-0ea3ae12c0a7.0" and "b/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/724d5548-5d6b-4e19-98cf-0ea3ae12c0a7.0" differ
diff --git "a/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/be1492ab-bedd-4e13-8827-ed025cda688a" "b/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/be1492ab-bedd-4e13-8827-ed025cda688a"
index eb272418..d24d3482 100644
--- "a/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/be1492ab-bedd-4e13-8827-ed025cda688a"
+++ "b/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/be1492ab-bedd-4e13-8827-ed025cda688a"
@@ -1,15 +1,10 @@
{1,
{1,
{0,
-{12,
-{1,
+{9,
+{0,
{0,0,be1492ab-bedd-4e13-8827-ed025cda688a},"ПолучениеФорм",
-{1,"ru","Получение форм"},"",0,1,32e087ab-1491-49b6-aba7-43571b41ac2b,3},0,0,
-{2,
-{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,1},
-{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,2}
-}
-},
+{1,"ru","Получение форм"},""},0,0},
{0}
}
},0}
\ No newline at end of file
diff --git "a/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/eb6420d9-ff9e-4c68-b025-2c1608cec69f" "b/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/eb6420d9-ff9e-4c68-b025-2c1608cec69f"
index 6087e1f0..3ea061db 100644
--- "a/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/eb6420d9-ff9e-4c68-b025-2c1608cec69f"
+++ "b/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/eb6420d9-ff9e-4c68-b025-2c1608cec69f"
@@ -4,21 +4,21 @@
{1,
{4,d7763d54-e3e8-4427-b006-786d44023817,4eac2e4e-b966-477c-8f8b-b4f3c988a024,
{0,
-{1,
+{0,
{0,0,df099fc3-03ed-44c9-a8dd-e95a1e8978ff},"Тесты_ОткрытиеФормКонфигурации",
-{1,"ru","Тесты ""Открытие форм конфигурации"""},"",0,0}
+{1,"ru","Тесты ""Открытие форм конфигурации"""},""}
},00000000-0000-0000-0000-000000000000,"",45cb56ba-09f2-4931-88c4-1e63a1a8f37c},4,
{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0},
{3daea016-69b7-4ed4-9453-127911372fe6,1,724d5548-5d6b-4e19-98cf-0ea3ae12c0a7},
{d5b0e5ed-256d-401c-9c36-f630cafd8a62,2,be1492ab-bedd-4e13-8827-ed025cda688a,45cb56ba-09f2-4931-88c4-1e63a1a8f37c},
-{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,9,
+{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,10,
{
{0,
-{27,
+{25,
{2,
-{1,
+{0,
{0,0,0d576d83-e0f1-4407-8839-678e97084eb9},"мИменаОсновныхФорм",
-{1,"ru","Имена основных форм"},"",0,0},
+{1,"ru","Имена основных форм"},""},
{"Pattern"}
},0,
{0},
@@ -29,15 +29,15 @@
{3,0,0},
{0,0},0,
{0},
-{"S",""},0,0,0}
+{"S",""},0}
},0},
{
{0,
-{27,
+{25,
{2,
-{1,
+{0,
{0,0,f465a06e-6fbe-4913-a502-3efe7fde4644},"мИменаОсновныхФорм_Списки",
-{1,"ru","М имена основных форм списки"},"",0,0},
+{1,"ru","М имена основных форм списки"},""},
{"Pattern"}
},0,
{0},
@@ -48,15 +48,15 @@
{3,0,0},
{0,0},0,
{0},
-{"S",""},0,0,0}
+{"S",""},0}
},0},
{
{0,
-{27,
+{25,
{2,
-{1,
+{0,
{0,0,c4204ca8-31c8-4d16-b26c-bb95f5a4346a},"мИменаОсновныхФорм_Объекты",
-{1,"ru","М имена основных форм объекты"},"",0,0},
+{1,"ru","М имена основных форм объекты"},""},
{"Pattern"}
},0,
{0},
@@ -67,15 +67,15 @@
{3,0,0},
{0,0},0,
{0},
-{"S",""},0,0,0}
+{"S",""},0}
},0},
{
{0,
-{27,
+{25,
{2,
-{1,
+{0,
{0,0,bcb9322e-f0c7-41a1-94cc-2d93e673140e},"мПолучениеФорм",
-{1,"ru","М получение форм"},"",0,0},
+{1,"ru","М получение форм"},""},
{"Pattern"}
},0,
{0},
@@ -86,15 +86,15 @@
{3,0,0},
{0,0},0,
{0},
-{"S",""},0,0,0}
+{"S",""},0}
},0},
{
{0,
-{27,
+{25,
{2,
-{1,
+{0,
{0,0,585b82f6-6309-4ef7-bada-4bca196ee5a4},"ВыводитьСообщенияВЖурналРегистрации",
-{1,"ru","Выводить сообщения в журнал регистрации"},"",0,0},
+{1,"ru","Выводить сообщения в журнал регистрации"},""},
{"Pattern",
{"B"}
}
@@ -107,15 +107,15 @@
{3,0,0},
{0,0},0,
{0},
-{"S",""},0,0,0}
+{"S",""},0}
},0},
{
{0,
-{27,
+{25,
{2,
-{1,
+{0,
{0,0,ed566aa3-5e21-4e97-ba2e-d0a57445e12f},"Настройки",
-{1,"ru","Настройки"},"",0,0},
+{1,"ru","Настройки"},""},
{"Pattern"}
},0,
{0},
@@ -126,15 +126,15 @@
{3,0,0},
{0,0},0,
{0},
-{"S",""},0,0,0}
+{"S",""},0}
},0},
{
{0,
-{27,
+{25,
{2,
-{1,
+{0,
{0,0,01329b90-651e-44ca-ad55-d3fb7fe405fc},"ВидыМетаданных",
-{1,"ru","Виды метаданных"},"",0,0},
+{1,"ru","Виды метаданных"},""},
{"Pattern"}
},0,
{0},
@@ -145,15 +145,15 @@
{3,0,0},
{0,0},0,
{0},
-{"S",""},0,0,0}
+{"S",""},0}
},0},
{
{0,
-{27,
+{25,
{2,
-{1,
+{0,
{0,0,a7db6278-62f9-4730-b682-1cdfcd0291c8},"ВидыПроверок",
-{1,"ru","Виды проверок"},"",0,0},
+{1,"ru","Виды проверок"},""},
{"Pattern"}
},0,
{0},
@@ -164,15 +164,34 @@
{3,0,0},
{0,0},0,
{0},
-{"S",""},0,0,0}
+{"S",""},0}
},0},
{
{0,
-{27,
+{25,
{2,
-{1,
+{0,
{0,0,9e5d7f0d-da20-4aeb-b366-5e3769aef9a2},"ФормыОтключенныеЧерезФункциональныеОпции",
-{1,"ru","Формы, отключенные через функциональные опции"},"",0,0},
+{1,"ru","Формы, отключенные через функциональные опции"},""},
+{"Pattern"}
+},0,
+{0},
+{0},0,"",0,
+{"U"},
+{"U"},0,00000000-0000-0000-0000-000000000000,2,0,
+{5004,0},
+{3,0,0},
+{0,0},0,
+{0},
+{"S",""},0}
+},0},
+{
+{0,
+{25,
+{2,
+{0,
+{0,0,437adde4-c097-4629-bc91-640d88b2de23},"СпособыГруппировки",
+{1,"ru","Способы группировки"},""},
{"Pattern"}
},0,
{0},
@@ -183,7 +202,7 @@
{3,0,0},
{0,0},0,
{0},
-{"S",""},0,0,0}
+{"S",""},0}
},0}
}
}
diff --git "a/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/version" "b/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/version"
index 421eee79..c23bfe28 100644
--- "a/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/version"
+++ "b/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/version"
@@ -1,5 +1,3 @@
{
-{216,0,
-{80308,0}
-}
+{216,0}
}
\ No newline at end of file
diff --git "a/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/versions" "b/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/versions"
index b5d3f7e2..5a7deda1 100644
--- "a/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/versions"
+++ "b/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/und/versions"
@@ -1 +1 @@
-{1,15,"",c8f54730-4b36-4608-9d18-15bdb03ed2da,"45cb56ba-09f2-4931-88c4-1e63a1a8f37c",66328616-94fb-4c58-8871-5f58ce8add22,"45cb56ba-09f2-4931-88c4-1e63a1a8f37c.0",67c2f52b-8fa5-4302-9b9f-bc2d4883b7b7,"724d5548-5d6b-4e19-98cf-0ea3ae12c0a7",98d3a23c-5ee8-40a6-b5e2-460e593849ef,"724d5548-5d6b-4e19-98cf-0ea3ae12c0a7.0",1242579b-3705-45c0-9ce0-2658cd386020,"be1492ab-bedd-4e13-8827-ed025cda688a",afa0d967-a1db-40e2-9f9d-cdf189b30a83,"be1492ab-bedd-4e13-8827-ed025cda688a.0",dbd428a3-7aa9-4984-81a7-a6bc93df3dac,"be1492ab-bedd-4e13-8827-ed025cda688a.1",0e88792e-dd94-4a89-986a-1d559f2cafdc,"copyinfo",bcc85977-f02a-457d-9a5d-7adba4744aa3,"df099fc3-03ed-44c9-a8dd-e95a1e8978ff",950cbccd-96c4-452a-960d-5052c58af474,"df099fc3-03ed-44c9-a8dd-e95a1e8978ff.0",5b9c669d-4103-4ea5-876b-9cf57608ed4f,"eb6420d9-ff9e-4c68-b025-2c1608cec69f",de1d9232-0856-44bb-8868-1640258788fb,"root",9fd8eb4a-611e-47f9-ace3-7c3714e6a154,"version",e8f329f4-b361-432f-9c72-8430894d95ec,"versions",11f2c0b0-c786-42cb-962c-1f5ce98e16a8}
\ No newline at end of file
+{1,15,"724d5548-5d6b-4e19-98cf-0ea3ae12c0a7",f5de8145-20b5-481e-8e6f-461c794a15e3,"724d5548-5d6b-4e19-98cf-0ea3ae12c0a7.0",5d16f622-4f83-4351-a157-319b0874eda9,"",6571afcf-fc43-4410-855d-6d01cacce7a8,"df099fc3-03ed-44c9-a8dd-e95a1e8978ff",950cbccd-96c4-452a-960d-5052c58af474,"versions",eb06e14f-a18f-46a6-bf3a-d9ba70168e08,"df099fc3-03ed-44c9-a8dd-e95a1e8978ff.0",7835b0c0-59fc-446c-82a9-073436333b65,"root",ab993489-4aec-4fd4-849b-560460b33576,"be1492ab-bedd-4e13-8827-ed025cda688a.0",3c97fb0d-6713-4719-956f-8d9180e94d65,"be1492ab-bedd-4e13-8827-ed025cda688a.1",0e88792e-dd94-4a89-986a-1d559f2cafdc,"45cb56ba-09f2-4931-88c4-1e63a1a8f37c",521046db-fd62-4492-b628-95b55b1f0d43,"be1492ab-bedd-4e13-8827-ed025cda688a",f4281815-749e-4ef8-bda2-e58a554f27dc,"version",5caf11f1-df4c-4690-a7fd-a4c5b7c93b7d,"45cb56ba-09f2-4931-88c4-1e63a1a8f37c.0",8e8de8eb-ef4d-4979-a6ca-420eb87dff1f,"eb6420d9-ff9e-4c68-b025-2c1608cec69f",9e2fed1f-8ac3-4996-a843-7ca929b529c7,"copyinfo",3e6953fd-5750-4d25-8a77-8db2a5bad9b1}
\ No newline at end of file
diff --git "a/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\234\320\260\320\272\320\265\321\202\321\213/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265\320\236\320\264\320\275\320\276\320\263\320\276\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217\320\230\320\221.mxl" "b/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\234\320\260\320\272\320\265\321\202\321\213/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265\320\236\320\264\320\275\320\276\320\263\320\276\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217\320\230\320\221.mxl"
index d83dfaab..eec1bc63 100644
Binary files "a/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\234\320\260\320\272\320\265\321\202\321\213/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265\320\236\320\264\320\275\320\276\320\263\320\276\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217\320\230\320\221.mxl" and "b/src/Tests/Smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\234\320\260\320\272\320\265\321\202\321\213/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265\320\236\320\264\320\275\320\276\320\263\320\276\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217\320\230\320\221.mxl" differ
diff --git "a/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" "b/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl"
index 38c93c31..28a168a4 100644
--- "a/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl"
+++ "b/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl"
@@ -29,7 +29,7 @@
&НаКлиенте
Процедура ПередЗапускомТеста() Экспорт
- ПропуститьТест = СтрНайти(ПараметрЗапуска, ПарсерКоманднойСтроки.Объект.ВозможныеКлючи.xddRun) = 0
+ ПропуститьТест = Найти(ПараметрЗапуска, ПарсерКоманднойСтроки.Объект.ВозможныеКлючи.xddRun) = 0
И ПлагинНастроек.ПолучитьНастройки() = Неопределено;
Если ПропуститьТест Тогда
diff --git "a/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/ObjectModule.bsl" "b/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/ObjectModule.bsl"
index 52b96675..46228559 100644
--- "a/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/ObjectModule.bsl"
+++ "b/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/ObjectModule.bsl"
@@ -23,7 +23,7 @@
//{ блок юнит-тестов - сами тесты
Процедура ПередЗапускомТеста() Экспорт
- ПропуститьТест = СтрНайти(ПараметрЗапуска, ПарсерКоманднойСтроки.ВозможныеКлючи.xddRun) = 0
+ ПропуститьТест = Найти(ПараметрЗапуска, ПарсерКоманднойСтроки.ВозможныеКлючи.xddRun) = 0
И ПлагинНастроек.ПолучитьНастройки() = Неопределено;
Если ПропуститьТест Тогда
diff --git "a/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/maps.txt" "b/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/maps.txt"
index 0c45f831..ca237490 100644
--- "a/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/maps.txt"
+++ "b/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/maps.txt"
@@ -1 +1 @@
-Form\Форма\Форма.bsl-->3d4aaa50-373c-4196-89d3-322b26a65c4c.0 (46, 122)
+Form\Форма\Форма.bsl-->3d4aaa50-373c-4196-89d3-322b26a65c4c.0 (29, 105)
diff --git "a/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/und/3d4aaa50-373c-4196-89d3-322b26a65c4c" "b/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/und/3d4aaa50-373c-4196-89d3-322b26a65c4c"
index 942618f6..3b9937d4 100644
--- "a/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/und/3d4aaa50-373c-4196-89d3-322b26a65c4c"
+++ "b/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/und/3d4aaa50-373c-4196-89d3-322b26a65c4c"
@@ -1,15 +1,10 @@
{1,
{1,
{0,
-{12,
-{1,
+{9,
+{0,
{0,0,3d4aaa50-373c-4196-89d3-322b26a65c4c},"Форма",
-{1,"ru","Форма"},"",0,1,32e087ab-1491-49b6-aba7-43571b41ac2b,3},0,1,
-{2,
-{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,1},
-{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,2}
-}
-},
+{1,"ru","Форма"},""},0,1},
{0}
}
},0}
\ No newline at end of file
diff --git "a/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/und/3d4aaa50-373c-4196-89d3-322b26a65c4c.0" "b/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/und/3d4aaa50-373c-4196-89d3-322b26a65c4c.0"
index d3eb1d52..c3b500fc 100644
--- "a/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/und/3d4aaa50-373c-4196-89d3-322b26a65c4c.0"
+++ "b/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/und/3d4aaa50-373c-4196-89d3-322b26a65c4c.0"
@@ -1,49 +1,32 @@
-{3,
-{46,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1,
+{2,
+{28,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1,
{1,0},0,0,1,1,1,0,1,0,
-{0,1,0},
+{0},
{0},1,
-{21,
-{-1,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,9,"ФормаКоманднаяПанель",
+{17,
+{-1,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1,
+{0,
+{0,
+{"B",1},0}
+},9,"ФормаКоманднаяПанель",
{1,0},
{1,0},0,1,0,0,0,2,2,
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},1,
-{0,0,1},0,1,0,0,0,3,3},0,"","",1,
-{21,
+{0,0,1},0,1},0,"","",1,
+{17,
{0},0,0,0,7,"Navigator",
{1,0},
{1,0},0,1,0,0,0,2,2,
{3,4,
{0}
},
-{7,3,0,1,100},
-{0,0,0},0,0,1,0,1,
-{10,
-{0},0,0,0,0,"NavigatorExtendedTooltip",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},0,3,3},1,"",0,0,0,0,0,0,3,3,0,0,0,100,1,1,0},"&НаКлиенте
+{6,3,0,1},
+{0,0,0},0,0,1}
+},"&НаКлиенте
Перем КонтекстЯдра;
&НаКлиенте
Перем Ожидаем;
@@ -74,7 +57,7 @@
&НаКлиенте
Процедура ПередЗапускомТеста() Экспорт
- ПропуститьТест = СтрНайти(ПараметрЗапуска, ПарсерКоманднойСтроки.Объект.ВозможныеКлючи.xddRun) = 0
+ ПропуститьТест = Найти(ПараметрЗапуска, ПарсерКоманднойСтроки.Объект.ВозможныеКлючи.xddRun) = 0
И ПлагинНастроек.ПолучитьНастройки() = Неопределено;
Если ПропуститьТест Тогда
@@ -151,10 +134,10 @@ Oi8vdjguMWMucnUvOC4xL2RhdGEvdWkiIHhtbG5zOndlYj0iaHR0cDovL3Y4LjFj
LnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93ZWIiIHhtbG5zOndpbj0iaHR0cDovL3Y4
LjFjLnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93aW5kb3dzIiB4bWxuczp4cz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDov
-L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiPg0KCTxvdXRwdXRQ
-YXJhbWV0ZXJzLz4NCjwvU2V0dGluZ3M+}
+L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=}
},
{0,0},
{0,0},
{0,0},
-{0,0},0,0}
\ No newline at end of file
+{0,0}
+}
\ No newline at end of file
diff --git "a/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/und/6b55f772-9628-4b9d-8191-fc389abee46d" "b/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/und/6b55f772-9628-4b9d-8191-fc389abee46d"
index a80133d0..283e28d1 100644
--- "a/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/und/6b55f772-9628-4b9d-8191-fc389abee46d"
+++ "b/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/und/6b55f772-9628-4b9d-8191-fc389abee46d"
@@ -4,9 +4,9 @@
{1,
{4,398f03b7-5998-4766-862a-ec9b4eb026a5,3d3d9ecf-6ab6-4d5e-88ae-8b6eb333e600,
{0,
-{1,
+{0,
{0,0,c62fd0f1-e482-4a62-8b01-a9ade6daf35d},"Тесты_Настройки",
-{1,"ru","Тесты настройки"},"",0,0}
+{1,"ru","Тесты настройки"},""}
},3d4aaa50-373c-4196-89d3-322b26a65c4c,"",00000000-0000-0000-0000-000000000000},4,
{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0},
{3daea016-69b7-4ed4-9453-127911372fe6,0},
diff --git "a/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/und/version" "b/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/und/version"
index 421eee79..c23bfe28 100644
--- "a/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/und/version"
+++ "b/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/und/version"
@@ -1,5 +1,3 @@
{
-{216,0,
-{80308,0}
-}
+{216,0}
}
\ No newline at end of file
diff --git "a/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/und/versions" "b/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/und/versions"
index c8dbe52f..c800bfb8 100644
--- "a/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/und/versions"
+++ "b/src/fixtures/core/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/und/versions"
@@ -1 +1 @@
-{1,9,"",7a31a472-2519-46e3-96bd-4bac893de55b,"3d4aaa50-373c-4196-89d3-322b26a65c4c",56c9ba95-aba2-4a32-8a1e-17fff26d0d14,"3d4aaa50-373c-4196-89d3-322b26a65c4c.0",24c9095f-10f6-49c5-a1dd-f618830b5e3d,"6b55f772-9628-4b9d-8191-fc389abee46d",af564713-3a0b-48da-b102-e1b196e0560a,"c62fd0f1-e482-4a62-8b01-a9ade6daf35d.0",2c8d82dd-0ca7-4e31-8ecd-63abedc619c6,"copyinfo",1cc491c2-6e01-4fff-baf4-c902a86f2e5c,"root",1cbee506-dd55-40ce-b580-634bfb0e51e9,"version",590374fa-c4f0-4631-908e-7b7df19c991b,"versions",61bee4ef-61f9-48bf-9f96-d206a32ded24}
\ No newline at end of file
+{1,9,"6b55f772-9628-4b9d-8191-fc389abee46d",c020deea-24e2-4401-8896-d777277b82a5,"",645eb527-7f10-4fab-86a7-69ef502e4ba2,"versions",3cd6b3e3-84b6-48d1-9d9a-60f6ad7c4786,"root",600b262e-15d0-4dc2-87fe-5188e298233b,"version",c4a8c848-19fe-4c34-b472-ac502fad7e7d,"3d4aaa50-373c-4196-89d3-322b26a65c4c",6e7a47ff-814c-406b-9167-fe65e88ebbfb,"copyinfo",edcb3adb-a168-4eb9-8571-db3731b1aec4,"c62fd0f1-e482-4a62-8b01-a9ade6daf35d.0",81674760-5df3-4679-905a-89b9400a4551,"3d4aaa50-373c-4196-89d3-322b26a65c4c.0",3677eda1-0353-42fc-873e-512991d68647}
\ No newline at end of file
diff --git "a/src/xddTestRunner/Form/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" "b/src/xddTestRunner/Form/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl"
index 2ede32f5..fcb819ff 100644
--- "a/src/xddTestRunner/Form/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl"
+++ "b/src/xddTestRunner/Form/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl"
@@ -123,8 +123,13 @@
ОткрытьФорму(ЭтаФорма.ИмяФормы);
Иначе
- Оповещение = Новый ОписаниеОповещения("КомандаПерезагрузитьФормуЗавершение", ЭтаФорма);
- НачатьПомещениеФайла(Оповещение, АдресХранилища, ЭтаФорма.ИспользуемоеИмяФайла , Ложь, ЭтаФорма.УникальныйИдентификатор);
+ // Back to 8.2
+ //Оповещение = Новый ОписаниеОповещения("КомандаПерезагрузитьФормуЗавершение", ЭтаФорма);
+ ВыбранноеИмяФайла = "";
+ Если ПоместитьФайл(АдресХранилища, ВыбранноеИмяФайла, ВыбранноеИмяФайла, Ложь, ЭтаФорма.УникальныйИдентификатор) Тогда
+ КомандаПерезагрузитьФормуЗавершение(Истина, АдресХранилища, ВыбранноеИмяФайла, Неопределено);
+ КонецЕсли;
+ // Back to 8.2
КонецЕсли;
@@ -174,8 +179,14 @@
ДиалогВыбора.ПроверятьСуществованиеФайла = Истина;
ДиалогВыбора.ПолноеИмяФайла = ПутьФайлаНастроек();
- ОповещениеВыбора = Новый ОписаниеОповещения("ЗагрузитьНастройкиИзФайлаЗавершение", ЭтаФорма);
- ДиалогВыбора.Показать(ОповещениеВыбора);
+ // Back to 8.2
+ //ОповещениеВыбора = Новый ОписаниеОповещения("ЗагрузитьНастройкиИзФайлаЗавершение", ЭтаФорма);
+ Если ДиалогВыбора.Выбрать() Тогда
+ ВыбранныеФайлы = Новый Массив;
+ ВыбранныеФайлы.Добавить(ДиалогВыбора.ПолноеИмяФайла);
+ ЗагрузитьНастройкиИзФайлаЗавершение(ВыбранныеФайлы, Неопределено);
+ КонецЕсли;
+ /// Back to 8.2
КонецПроцедуры
@@ -287,8 +298,8 @@
Исключение
Инфо = ИнформацияОбОшибке();
Если Инфо.Описание = "Метод объекта не обнаружен (Инициализация)" И
- СтрНайти(Инфо.ИсходнаяСтрока, "ОбъектПлагин.Инициализация(ЭтаФорма);") > 0 И
- СтрНайти(Инфо.ИмяМодуля, "Форма.УправляемаяФорма.Форма") > 0
+ Найти(Инфо.ИсходнаяСтрока, "ОбъектПлагин.Инициализация(ЭтаФорма);") > 0 И
+ Найти(Инфо.ИмяМодуля, "Форма.УправляемаяФорма.Форма") > 0
Тогда
Иначе
ВызватьИсключение;
@@ -938,7 +949,7 @@
ПутьКОтчету = ОчередныеПараметры[1];
- ОписаниеОшибки = СтрШаблон("УФ ПутьКОтчету %1", ПутьКОтчету);
+ ОписаниеОшибки = Плагин("СтроковеУтилиты").СтрШаблон82("УФ ПутьКОтчету %1", ПутьКОтчету);
ЗафиксироватьОшибкуВЖурналеРегистрации("xUnitFor1C." + ИдентификаторГенератораОтчета, ОписаниеОшибки, Истина);
Для Каждого Отчет Из НаборОтчетов Цикл
@@ -962,7 +973,7 @@
ГенераторКодаВозврата = Плагин(ИдентификаторПлагина);
ПутьФайлаКодаВозврата = Параметры_xddExitCodePath[1];
- ГенераторКодаВозврата.СформироватьФайл(ЭтотОбъект, ПутьФайлаКодаВозврата, РезультатыТестирования);
+ ГенераторКодаВозврата.СформироватьФайл(ЭтаФорма, ПутьФайлаКодаВозврата, РезультатыТестирования);
Исключение
Инфо = ИнформацияОбОшибке();
ОписаниеОшибки = "Ошибка формирования файла статуса возврата при выполнении тестов в пакетном режиме
@@ -1059,9 +1070,15 @@
Возврат;
КонецЕсли;
- Оповещение = Новый ОписаниеОповещения("ОткрытьИнструментЗавершение", ЭтаФорма, Новый Структура("ИмяИнструмента, ИмяФормыИнструмента", ИмяИнструмента, ИмяФормы));
- НачатьПомещениеФайла(Оповещение, АдресХранилища, ФайлИнструмента.ПолноеИмя , Ложь, ЭтаФорма.УникальныйИдентификатор);
-
+ // Back to 8.2
+ //Оповещение = Новый ОписаниеОповещения("ОткрытьИнструментЗавершение", ЭтаФорма, Новый Структура("ИмяИнструмента, ИмяФормыИнструмента", ИмяИнструмента, ИмяФормы));
+ ВыбранноеИмяФайла = "";
+ Если ПоместитьФайл(АдресХранилища, ФайлИнструмента.ПолноеИмя, ВыбранноеИмяФайла , Ложь, ЭтаФорма.УникальныйИдентификатор) Тогда
+ ДопПараметры = Новый Структура("ИмяИнструмента, ИмяФормыИнструмента", ИмяИнструмента, ИмяФормы);
+ ОткрытьИнструментЗавершение(Истина, АдресХранилища, ВыбранноеИмяФайла, ДопПараметры);
+ КонецЕсли;
+ /// Back to 8.2
+
КонецЕсли;
КонецПроцедуры
@@ -1093,8 +1110,14 @@
Если ПодключенныеВнешниеОбработки.Получить(ФайлОбработки.ИмяБезРасширения) = Неопределено Тогда
ЭтоОтчет = (НРег(ФайлОбработки.Расширение) = ".erf");
- Оп = Новый ОписаниеОповещения("ПодключитьВнешнююОбработкуЗавершение", ЭтаФорма, Новый Структура("ФайлОбработки, ЭтоОтчет", ФайлОбработки, ЭтоОтчет));
- НачатьПомещениеФайла(Оп, АдресХранилища, ФайлОбработки.ПолноеИмя , Ложь, ЭтаФорма.УникальныйИдентификатор);
+ // Back to 8.2
+ //Оп = Новый ОписаниеОповещения("ПодключитьВнешнююОбработкуЗавершение", ЭтаФорма, Новый Структура("ФайлОбработки, ЭтоОтчет", ФайлОбработки, ЭтоОтчет));
+ ВыбранноеИмяФайла = "";
+ Если ПоместитьФайл(АдресХранилища, ФайлОбработки.ПолноеИмя , ВыбранноеИмяФайла, Ложь, ЭтаФорма.УникальныйИдентификатор) Тогда
+ ДопПараметры = Новый Структура("ФайлОбработки, ЭтоОтчет", ФайлОбработки, ЭтоОтчет);
+ ПодключитьВнешнююОбработкуЗавершение(Истина, АдресХранилища, ВыбранноеИмяФайла, ДопПараметры);
+ КонецЕсли;
+ /// Back to 8.2
КонецЕсли;
КонецПроцедуры
diff --git "a/src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260/form" "b/src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260/form"
index 3b8c5144..63661048 100644
--- "a/src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260/form"
+++ "b/src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260/form"
@@ -1,18 +1,18 @@
{27,
-{18,
+{16,
{
{1,0},37,36},
{09ccdc77-ea1a-4a6d-ab1c-3435eada2433,
{1,
{
-{15,1,
+{10,1,
{3,4,
{0}
},
{3,4,
{0}
},
-{7,3,0,1,100},0,
+{6,3,0,1},0,
{3,3,
{-22}
},
@@ -30,54 +30,32 @@
},
{3,0,
{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e},
-{1,0},0,0,100,0},25,0,1,
+{1,0}
+},21,0,1,
{0,4,1},0,2,
{0,4,3},
{0,11,3},0,0,
-{7,1,
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},100,0,0},0,1,
+{3,1,
+{3,0,
+{0},"",-1,-1,1,0}
+},0,1,
{1,2,
-{4,
+{3,
{1,1,
{"ru","Тестирование"}
},
-{7,0,
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},100,2,0},-1,1,1,"Тестирование",1,
-{3,4,
-{0}
-},
-{3,4,
-{0}
-}
-},
-{4,
+{3,0,
+{3,0,
+{0},"",-1,-1,1,0}
+},-1,1,1,"Тестирование",1},
+{3,
{1,1,
{"ru","Настройки"}
},
-{7,0,
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},100,2,0},-1,1,1,"Настройки",1,
-{3,4,
-{0}
-},
-{3,4,
-{0}
-}
-}
+{3,0,
+{3,0,
+{0},"",-1,-1,1,0}
+},-1,1,1,"Настройки",1}
},1,1,0,8,
{2,8,1,1,1,0,0,0,0},
{2,8,0,1,2,0,0,0,0},
@@ -86,24 +64,21 @@
{2,8,1,1,1,1,0,0,0},
{2,8,0,1,2,1,0,0,0},
{2,851,1,1,3,1,0,8,0},
-{2,544,0,1,4,1,0,8,0},0,4294967295,4294967295,5,64,0,
-{3,4,
-{0}
-},0,0,57,0},
+{2,544,0,1,4,1,0,8,0},0,4294967295,4294967295,5,64,0},
{0}
},
{12,
{09ccdc77-ea1a-4a6d-ab1c-3435eada2433,4,
{1,
{
-{15,1,
+{10,1,
{3,4,
{0}
},
{3,4,
{0}
},
-{7,3,0,1,100},0,
+{6,3,0,1},0,
{3,3,
{-22}
},
@@ -121,47 +96,32 @@
},
{3,0,
{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e},
-{1,0},0,0,100,0},25,0,2,
+{1,0}
+},21,0,2,
{0,5,1},
{0,7,1},0,4,
{0,5,3},
{0,7,3},
{0,10,3},
{0,36,3},0,0,
-{7,1,
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},100,0,0},0,1,
+{3,1,
+{3,0,
+{0},"",-1,-1,1,0}
+},0,1,
{1,1,
-{4,
+{3,
{1,1,
{"#","Тесты"}
},
-{7,0,
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},100,2,0},-1,1,1,"Тесты",1,
-{3,4,
-{0}
-},
-{3,4,
-{0}
-}
-}
+{3,0,
+{3,0,
+{0},"",-1,-1,1,0}
+},-1,1,1,"Тесты",1}
},1,1,0,4,
{2,6,1,1,1,0,0,0,0},
{2,6,0,1,2,0,0,0,0},
{2,837,1,1,3,0,0,5,0},
-{2,471,0,1,4,0,0,5,0},0,4294967295,5,64,0,
-{3,4,
-{0}
-},0,0,57,0},
+{2,471,0,1,4,0,0,5,0},0,4294967295,5,64,0},
{0}
},
{8,8,43,850,519,1,
@@ -198,14 +158,14 @@
{"#",e603c0f2-92fb-4d47-8f38-a44a381cf235}
},
{
-{15,1,
+{10,1,
{3,4,
{0}
},
{3,4,
{0}
},
-{7,3,0,1,100},0,
+{6,3,0,1},0,
{3,3,
{-22}
},
@@ -223,8 +183,9 @@
},
{3,1,
{-18},0,0,0},
-{1,0},0,0,100,2},
-{18,117644833,
+{1,0}
+},
+{15,117644833,
{3,4,
{0}
},
@@ -246,23 +207,23 @@
{3,3,
{-13}
},2,2,0,0,0,1,1,1,3,
-{7,2,0,
-{-20},1,100},
-{7,2,0,
-{-20},1,100},0,2,0,
+{6,2,0,
+{-20},1},
+{6,2,0,
+{-20},1},0,2,0,
{6,
{737535a4-21e6-4971-8513-3e3173a9fedd,
{8,
{8,
-{17,
+{16,
{1,1,
{"ru","Колонка1"}
},
{1,0},
{1,0},26,0,-1,-1,-1,12590594,
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,3,
+{3,0,
+{0},"",-1,-1,1,0},
+{3,3,
{0},"",-1,-1,0,
{
{#base64:iVBORw0KGgoAAAANSUhEUgAAAFAAAAAQCAYAAACBSfjBAAAABGdBTUEAALGPC/xh
@@ -311,9 +272,9 @@ eZPwa0asArY/9zYM8Y3QR68teUKZed+8A5b18yc7h0IPc33s3pME1LyOXbP31dPD
Qg2sRV/JQCPvA4MX1q6+bmvwnJIVdZt3RWORSdTEbDL1fFpWv81g/NILc/N/+x9Y
i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
7sC/68BdS71tH9LcEKQAAAAASUVORK5CYII=}
-},0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},16,16,d2314b5d-8da4-4e0f-822b-45e7500eae09,
+},0},
+{3,0,
+{0},"",-1,-1,1,0},16,16,d2314b5d-8da4-4e0f-822b-45e7500eae09,
{3,4,
{0}
},
@@ -332,14 +293,14 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
{3,4,
{0}
},
-{7,3,0,1,100},
-{7,3,0,1,100},
-{7,3,0,1,100},1,0,0,0,0,"Состояние",
+{6,3,0,1},
+{6,3,0,1},
+{6,3,0,1},1,0,0,0,0,"Состояние",
{},4,0,
{1,0},
{"Pattern",
{"S"}
-},0,1,00000000-0000-0000-0000-000000000000,0,0,0},
+},0,1,00000000-0000-0000-0000-000000000000},
{-1},
{-1},
{-1}
@@ -348,15 +309,15 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
{737535a4-21e6-4971-8513-3e3173a9fedd,
{8,
{8,
-{17,
+{16,
{1,1,
{"ru","Имя"}
},
{1,0},
{1,0},302,2,-1,-1,-1,12590595,
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,3,
+{3,0,
+{0},"",-1,-1,1,0},
+{3,3,
{0},"",-1,-1,0,
{
{#base64:iVBORw0KGgoAAAANSUhEUgAAAIAAAAAQCAYAAADeWHeIAAAABmJLR0QA/wD/AP+g
@@ -413,9 +374,9 @@ cHZCQtx5OwQ/CxrZK9esbRIPEB/bnss6tEcRcO3MBxsSWy/tRzezDxAf257B9p7B
PbwLwat9M7YNBmyt5MYIhP9zLlfWP7Z9AZAW5rrNwqZmXYqc31LF35x/4ui7/qev
haH4OfZEmTn7fHH6aGr3BnagjUvtLgEOFOxjZPq+Cx4vPrrxfuCBgn3fjnpk34Xi
D/Nbu3St+stsWd09XoZueNV+vF7+v5/tv6odfeWMgg1nAAAAAElFTkSuQmCC}
-},0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},16,16,d2314b5d-8da4-4e0f-822b-45e7500eae09,
+},0},
+{3,0,
+{0},"",-1,-1,1,0},16,16,d2314b5d-8da4-4e0f-822b-45e7500eae09,
{3,4,
{0}
},
@@ -434,20 +395,21 @@ D/Nbu3St+stsWd09XoZueNV+vF7+v5/tv6odfeWMgg1nAAAAAElFTkSuQmCC}
{3,4,
{0}
},
-{7,3,0,1,100},
-{7,3,0,1,100},
-{7,3,0,1,100},1,0,0,0,0,"Имя",
+{6,3,0,1},
+{6,3,0,1},
+{6,3,0,1},1,0,0,0,0,"Имя",
{},44,0,
{1,0},
{"Pattern",
{"S"}
},0,1,381ed624-9217-4e63-85db-c4c3cb87daae,
{
-{#base64:AgFTS2/0iI3BTqDV67a9oKcNfVAxDsIwDIQVqZ/I7Eh20jbJL5AQDyjQlQF1q/Iy
-Bp7EzEZitwVaILHknH2Oz36sV3zu11sfoNj0att0XXs5KwY7FYtNzE8xqoAyslBm
-h2N2jh1YwEQlxJgezLDZaWN+1SyxVLh5wNArwmo0+dwlXY4SoMDUHSiCRUFCgSUq
-RaLaqzh5pT5IKTywkHOasuW8kqI/2emHLxLfBNXOOZMXPE7Hs4XG1aU9GU2hDbqs
-WqO9D1Ybj4djoFA1wUn/+QQoM/A+hx+5KYkYkRCf},0},0,0,0},
+{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ
+OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U
+bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm
+rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ
+XFhJtSKWz30vMgcItzCmDw==},0}
+},
{-1},
{-1},
{-1}
@@ -456,18 +418,18 @@ WqO9D1Ybj4djoFA1wUn/+QQoM/A+hx+5KYkYkRCf},0},0,0,0},
{737535a4-21e6-4971-8513-3e3173a9fedd,
{8,
{8,
-{17,
+{16,
{1,1,
{"ru","Кол-во"}
},
{1,0},
{1,0},64,1,-1,-1,-1,12590592,
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},16,16,d2314b5d-8da4-4e0f-822b-45e7500eae09,
+{3,0,
+{0},"",-1,-1,1,0},
+{3,0,
+{0},"",-1,-1,1,0},
+{3,0,
+{0},"",-1,-1,1,0},16,16,d2314b5d-8da4-4e0f-822b-45e7500eae09,
{3,4,
{0}
},
@@ -486,20 +448,21 @@ WqO9D1Ybj4djoFA1wUn/+QQoM/A+hx+5KYkYkRCf},0},0,0,0},
{3,4,
{0}
},
-{7,3,0,1,100},
-{7,3,0,1,100},
-{7,3,0,1,100},1,0,0,0,0,"КоличествоТестов",
+{6,3,0,1},
+{6,3,0,1},
+{6,3,0,1},1,0,0,0,0,"КоличествоТестов",
{},10,1,
{1,0},
{"Pattern",
{"S"}
},0,1,381ed624-9217-4e63-85db-c4c3cb87daae,
{
-{#base64:AgFTS2/0iI3BTqDV67a9oKcNfVAxDsIwDIQVqZ/I7Eh20jbJL5AQDyjQlQF1q/Iy
-Bp7EzEZitwVaILHknH2Oz36sV3zu11sfoNj0att0XXs5KwY7FYtNzE8xqoAyslBm
-h2N2jh1YwEQlxJgezLDZaWN+1SyxVLh5wNArwmo0+dwlXY4SoMDUHSiCRUFCgSUq
-RaLaqzh5pT5IKTywkHOasuW8kqI/2emHLxLfBNXOOZMXPE7Hs4XG1aU9GU2hDbqs
-WqO9D1Ybj4djoFA1wUn/+QQoM/A+hx+5KYkYkRCf},0},0,0,0},
+{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ
+OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U
+bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm
+rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ
+XFhJtSKWz30vMgcItzCmDw==},0}
+},
{-1},
{-1},
{-1}
@@ -508,18 +471,18 @@ WqO9D1Ybj4djoFA1wUn/+QQoM/A+hx+5KYkYkRCf},0},0,0,0},
{737535a4-21e6-4971-8513-3e3173a9fedd,
{8,
{8,
-{17,
+{16,
{1,1,
{"ru","Время выполнения"}
},
{1,0},
{1,0},34,3,-1,-1,-1,12590592,
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},16,16,d2314b5d-8da4-4e0f-822b-45e7500eae09,
+{3,0,
+{0},"",-1,-1,1,0},
+{3,0,
+{0},"",-1,-1,1,0},
+{3,0,
+{0},"",-1,-1,1,0},16,16,d2314b5d-8da4-4e0f-822b-45e7500eae09,
{3,4,
{0}
},
@@ -538,9 +501,9 @@ WqO9D1Ybj4djoFA1wUn/+QQoM/A+hx+5KYkYkRCf},0},0,0,0},
{3,4,
{0}
},
-{7,3,0,1,100},
-{7,3,0,1,100},
-{7,3,0,1,100},1,0,0,0,0,"ВремяВыполнения",
+{6,3,0,1},
+{6,3,0,1},
+{6,3,0,1},1,0,0,0,0,"ВремяВыполнения",
{},5,0,
{1,1,
{"ru","ЧН=-"}
@@ -549,11 +512,12 @@ WqO9D1Ybj4djoFA1wUn/+QQoM/A+hx+5KYkYkRCf},0},0,0,0},
{"N",10,3,1}
},0,1,381ed624-9217-4e63-85db-c4c3cb87daae,
{
-{#base64:AgFTS2/0iI3BTqDV67a9oKcNfVAxDsIwDATGSnwisyPZSdskn0AsPKBAVwbEhvIy
-Bp7EF4jtUlALJJEc+87xXZarhazH7X5NsK6uZttdLv35ZCTZGCAED5TXVeaKHmqA
-OPNQc8AXOs1DacVCJcRcLsLwHKxzv3rmuXaEacHRuyJqLEWeUrZUCVDTMr0YAI8w
-3zQw2GMZLBrNzuQxGjOyUOGBhYJZ4sO40aY/6PjCF40fitoQguMfftkTc6kLbe2P
-zlLqk62b3tkYk7cu4v6QKDVdCjp/6gDVg3zo8KIMJRWjEvIT},0},0,0,0},
+{#base64:AgFTS2/0iI3BTqDV67a9oKcNdY87DsIwDIZhrdRLZE6kOEkfvgRi4QAFujKgblVO
+xsBNuAJXILaborZqE8Xy78f/9XM88Pd9vUfUZTGqczcM/fOhODkpDVZ7DbEsIily
+kwaUeR0o2Fxd53UaTa0xPVz1FIxze/3bXCaateDgrzCJgZZc0mEVtOxwIOLiiCb/
+lQyZTV1UnKNSc5fN6FbAqGaALkxWe6V5dkmVt2Z+pseuqYO/OwPYowlV70zbojeu
+tdcbAlYdNtQXNqhWYHndtJE9QLzFMf4A},0}
+},
{-1},
{-1},
{-1}
@@ -562,18 +526,18 @@ zlLqk62b3tkYk7cu4v6QKDVdCjp/6gDVg3zo8KIMJRWjEvIT},0},0,0,0},
{737535a4-21e6-4971-8513-3e3173a9fedd,
{8,
{8,
-{17,
+{16,
{1,1,
{"ru","Путь"}
},
{1,0},
{1,0},1e2,4,-1,-1,-1,12590592,
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},16,16,d2314b5d-8da4-4e0f-822b-45e7500eae09,
+{3,0,
+{0},"",-1,-1,1,0},
+{3,0,
+{0},"",-1,-1,1,0},
+{3,0,
+{0},"",-1,-1,1,0},16,16,d2314b5d-8da4-4e0f-822b-45e7500eae09,
{3,4,
{0}
},
@@ -592,20 +556,21 @@ zlLqk62b3tkYk7cu4v6QKDVdCjp/6gDVg3zo8KIMJRWjEvIT},0},0,0,0},
{3,4,
{0}
},
-{7,3,0,1,100},
-{7,3,0,1,100},
-{7,3,0,1,100},1,0,0,0,0,"Путь",
+{6,3,0,1},
+{6,3,0,1},
+{6,3,0,1},1,0,0,0,0,"Путь",
{},15,0,
{1,0},
{"Pattern",
{"S"}
},0,1,381ed624-9217-4e63-85db-c4c3cb87daae,
{
-{#base64:AgFTS2/0iI3BTqDV67a9oKcNfVA7DsIwDIUVqZfI7Eh20jbJLZAQByjQlQF1q3Iy
-Bo7EzEZi9wPlk1hy3rMdP/uxXvG5X299gGLTq23Tde3lrBjsVCw2MT/FqALKyEKZ
-HY7RJXZgAVMqIcb04AybnTbmV80nlgq3JAzNDKvR5HOXdJklQIGpO1AEi4IkBWY0
-MqVIVHsVJ6/UW0mihyzkmKZsOa6k6E90+uGLxBdBtXPO5AWP0/FsoXF1aU9GU2iD
-LqvWaO+D1cbj4RgoVE1w0n85AcoMvM/hR25KIkYkxCc=},0},0,0,0},
+{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ
+OLAFa7ACtU0KbdXYsuPnz3uv/Y7f+/EcUJfFoA5t33f3m+LiqFJZJPqKg9VAldeB
+ks3dZV1rr8fRNAbuekrGua35dS0bzRJw8ENYiYFILKMxClpuOGBQYjb4Q4JIUyeV
+pqzUbIVJrOiingFy+DJttabduah8Nctn8dg2dfBXZwA7NKHqnIkRvXHRni8IWLXY
+0FxYSbUils99LzIHCLcwpg8=},0}
+},
{-1},
{-1},
{-1}
@@ -614,18 +579,18 @@ LqvWaO+D1cbj4RgoVE1w0n85AcoMvM/hR25KIkYkxCc=},0},0,0,0},
{737535a4-21e6-4971-8513-3e3173a9fedd,
{8,
{8,
-{17,
+{16,
{1,1,
{"ru","Ключ"}
},
{1,0},
{1,0},1e2,5,-1,-1,-1,12589568,
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},16,16,d2314b5d-8da4-4e0f-822b-45e7500eae09,
+{3,0,
+{0},"",-1,-1,1,0},
+{3,0,
+{0},"",-1,-1,1,0},
+{3,0,
+{0},"",-1,-1,1,0},16,16,d2314b5d-8da4-4e0f-822b-45e7500eae09,
{3,4,
{0}
},
@@ -644,26 +609,27 @@ LqvWaO+D1cbj4RgoVE1w0n85AcoMvM/hR25KIkYkxCc=},0},0,0,0},
{3,4,
{0}
},
-{7,3,0,1,100},
-{7,3,0,1,100},
-{7,3,0,1,100},1,0,0,0,0,"Ключ",
+{6,3,0,1},
+{6,3,0,1},
+{6,3,0,1},1,0,0,0,0,"Ключ",
{},15,0,
{1,0},
{"Pattern",
{"S"}
},0,1,381ed624-9217-4e63-85db-c4c3cb87daae,
{
-{#base64:AgFTS2/0iI3BTqDV67a9oKcNfVAxDsIwDIQVqZ/I7Eh20jbJL5AQDyjQlQF1q/Iy
-Bp7EzEZitwVaILHknH2Oz36sV3zu11sfoNj0att0XXs5KwY7FYtNzE8xqoAyslBm
-h2N2jh1YwEQlxJgezLDZaWN+1SyxVLh5wNArwmo0+dwlXY4SoMDUHSiCRUFCgSUq
-RaLaqzh5pT5IKTywkHOasuW8kqI/2emHLxLfBNXOOZMXPE7Hs4XG1aU9GU2hDbqs
-WqO9D1Ybj4djoFA1wUn/+QQoM/A+hx+5KYkYkRCf},0},0,0,0},
+{#base64:AgFTS2/0iI3BTqDV67a9oKcNdU7LDcIwDIVrpS6RcyLFSdrGWyAhBijQKwfUW5XJ
+OLAFa7ACtU0KbdXYsvP8e++13/F7P54D6rIY1KHt++5+UwyOKpVFoq84WA2EvA6U
+bO4uca29HkfTGLjrKRnntubXWDaaZcHBr8JKDERiGY2roOWGAy5KzPaPgkhTJ5Wm
+rNRsiEms6KKeAXL4Mm21pt25qHw1y2fx2DZ18FdnADs0oeqciRG9cdGeLwhYtdjQ
+XFhJtSKWz30vMgcItzCmDw==},0}
+},
{-1},
{-1},
{-1}
},"Ключ","","",0}
}
-},0,0,0,0,0,0,0,100,1,2}
+},0,0,0,0}
},
{9ab3fa70-d2e0-4e44-baac-730682272ed2,
{4,1,1,
@@ -703,14 +669,14 @@ WqO9D1Ybj4djoFA1wUn/+QQoM/A+hx+5KYkYkRCf},0},0,0,0},
{e69bf21d-97b2-4f37-86db-675aea9ec2cb,10,
{2,
{
-{15,1,
+{10,1,
{3,4,
{0}
},
{3,4,
{0}
},
-{7,3,0,1,100},0,
+{6,3,0,1},0,
{3,3,
{-22}
},
@@ -728,9 +694,10 @@ WqO9D1Ybj4djoFA1wUn/+QQoM/A+hx+5KYkYkRCf},0},0,0,0},
},
{3,0,
{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e},
-{1,0},0,0,100,0},9,2,0,0,1,1,
+{1,0}
+},8,2,0,0,1,1,
{5,d4746b64-45af-49b5-a280-c2206705887b,9,1,1,
-{6,db368e7f-9280-4e81-883b-9c65ba315c62,1,e1692cc2-605b-4535-84dd-28440238746c,
+{6,45455fdd-df03-484a-b798-7f032b3a1925,1,e1692cc2-605b-4535-84dd-28440238746c,
{3,"КнопкаВыполнитьВыделенныеТестыНажатие",
{1,"КнопкаВыполнитьВыделенныеТестыНажатие",
{1,1,
@@ -742,8 +709,8 @@ WqO9D1Ybj4djoFA1wUn/+QQoM/A+hx+5KYkYkRCf},0},0,0,0},
{1,1,
{"ru","Кнопка выполнить выделенные тесты нажатие"}
},
-{4,0,
-{0},"",-1,-1,1,0,""},
+{3,0,
+{0},"",-1,-1,1,0},
{0,0,0}
}
},15,
@@ -753,7 +720,7 @@ WqO9D1Ybj4djoFA1wUn/+QQoM/A+hx+5KYkYkRCf},0},0,0,0},
{1,1,
{"#","Кнопка выполнить выделенный нажатие"}
},
-{4,3,
+{3,3,
{0},"",-1,-1,0,
{
{#base64:iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAAL
@@ -833,10 +800,10 @@ eWwwH6ofA9JAcb/C+wUQhgCXowa3UyOe+ptr43dIxvTp8hPtSn7BN1oxmV3d7jAA
BT2vLGbWS92jcyHi0eKcnlGHth40DwGpirD4N/NAtpxz/fzryOKAkVV/L8x3DFYC
SeG/CiRbW381XQJ+eB6R7JkecvQzOgL43wP8MwC/vaxojUiI8wAAAABJRU5ErkJg
gg==}
-},0,""},
+},0},
{0,118,8}
},1,
-{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,1,db368e7f-9280-4e81-883b-9c65ba315c62,
+{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,1,45455fdd-df03-484a-b798-7f032b3a1925,
{8,"ВыполнитьТест",0,4,
{1,2,
{"#","Выполнить тест"},
@@ -846,7 +813,7 @@ gg==}
{0}
}
}
-},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,9d0a2e40-b978-11d4-84b6-008048da06df,0,0,0}
+},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,9d0a2e40-b978-11d4-84b6-008048da06df,0}
},
{8,269,357,472,381,0,
{0,
@@ -883,14 +850,14 @@ gg==}
{b1db1f86-abbb-4cf0-8852-fe6ae21650c2,11,
{0,
{
-{15,1,
+{10,1,
{3,3,
{-7}
},
{3,4,
{0}
},
-{7,3,0,1,100},0,
+{6,3,0,1},0,
{3,0,
{44544}
},
@@ -908,7 +875,8 @@ gg==}
},
{3,0,
{0},1,1,0,48312c09-257f-4b29-b280-284dd89efc1e},
-{1,0},0,0,100,0},3,0,100,1,0,1,2}
+{1,0}
+},3,0,100,1,0,1,2}
},
{8,8,522,850,544,1,
{0,
@@ -942,14 +910,14 @@ gg==}
{6ff79819-710e-4145-97cd-1618da79e3e2,12,
{1,
{
-{15,1,
+{10,1,
{3,4,
{0}
},
{3,4,
{0}
},
-{7,3,0,1,100},1,
+{6,3,0,1},1,
{3,3,
{-22}
},
@@ -967,12 +935,13 @@ gg==}
},
{3,0,
{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e},
-{1,0},0,0,100,0},14,
+{1,0}
+},10,
{1,2,
{"#","Выполнить все тесты"},
{"ru","Выполнить все тесты (F7)"}
},1,1,0,0,0,
-{4,3,
+{3,3,
{0},"",-1,-1,0,
{
{#base64:iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAAL
@@ -1060,8 +1029,8 @@ JyajRXUdPoID8x3ChKlmpiPtjn2X/3tJJRfU/tGxqD95mFkDhBYCS/Ge7VqG0VQs
bPzx/OXuKnHK9GukM/cUMKZWKzppNuH0T1e8z+hA5N8sJCuN4+Wz4LnVy1bpFWdu
Fq6oA8zcLFzz9mOr9ALw+4nHKwOsr+XrAP9LgL8GAIsWe/XplG1LAAAAAElFTkSu
QmCC}
-},0,""},
-{0,118,0},0,0,0,0,0,1},
+},0},
+{0,118,0},0,0},
{1,
{0,e1692cc2-605b-4535-84dd-28440238746c,
{3,"КнопкаВыполнитьВсеТестыНажатие",
@@ -1075,8 +1044,8 @@ QmCC}
{1,1,
{"ru","Кнопка выполнить все тесты нажатие"}
},
-{4,0,
-{0},"",-1,-1,1,0,""},
+{3,0,
+{0},"",-1,-1,1,0},
{0,0,0}
}
}
@@ -1116,14 +1085,14 @@ QmCC}
{6ff79819-710e-4145-97cd-1618da79e3e2,13,
{1,
{
-{15,1,
+{10,1,
{3,4,
{0}
},
{3,4,
{0}
},
-{7,3,0,1,100},1,
+{6,3,0,1},1,
{3,3,
{-22}
},
@@ -1141,12 +1110,13 @@ QmCC}
},
{3,0,
{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e},
-{1,0},0,0,100,0},14,
+{1,0}
+},10,
{1,2,
{"#","Загрузить тесты"},
{"ru","Загрузить тесты"}
},1,1,0,0,0,
-{4,3,
+{3,3,
{0},"",-1,-1,0,
{
{#base64:iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+g
@@ -1179,10 +1149,12 @@ v7z6xrfBqzEgfxeqE7XJ4h8a1/aCgEzcbXeuH+b0RvNf+XOfI5UewfYAAAAldEVY
dGRhdGU6Y3JlYXRlADIwMTMtMDUtMjlUMDk6NDc6NDItMDU6MDBTDo/DAAAAJXRF
WHRkYXRlOm1vZGlmeQAyMDEzLTA1LTI4VDA2OjE3OjMwLTA1OjAwR0bHqQAAAABJ
RU5ErkJggg==}
-},0,""},
+},0},
{0,0,0},0,2,
{5,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,29,1,3,
-{6,75a7f862-dc84-4f3c-bb23-85fc6f95ccdf,1,e1692cc2-605b-4535-84dd-28440238746c,
+{6,e17ba68c-32f5-4944-a6cc-0d28edc6593b,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6,
+{1,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,26},0},
+{6,76000eb2-7fdb-48de-98cf-0bad48ce0d76,1,e1692cc2-605b-4535-84dd-28440238746c,
{3,"КнопкаЗагрузитьТестыЗагрузитьНастройкиИзФайла",
{1,"КнопкаЗагрузитьТестыЗагрузитьНастройкиИзФайла",
{1,1,
@@ -1194,24 +1166,27 @@ RU5ErkJggg==}
{1,1,
{"ru","Загрузить настройки из файла"}
},
-{4,0,
-{0},"",-1,-1,1,0,""},
+{3,0,
+{0},"",-1,-1,1,0},
{0,0,0}
}
},0},
-{6,a3c501cf-0b0c-43c7-8e6c-c515ee4f4d8e,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6,
-{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0},
-{6,ca09fbcb-29b4-4050-809d-00a2c2e69426,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6,
-{1,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,26},0},2,
-{5,31946946-0a9b-40a2-95cf-82f200778341,0,0,3,75a7f862-dc84-4f3c-bb23-85fc6f95ccdf,
+{6,39062f90-5d5e-4892-8819-43c73b45a419,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6,
+{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0},2,
+{5,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,26,1,0,
+{0,0,
+{0}
+}
+},
+{5,31946946-0a9b-40a2-95cf-82f200778341,0,0,3,76000eb2-7fdb-48de-98cf-0bad48ce0d76,
{8,"ЗагрузитьНастройкиИзФайла",0,1,
{1,1,
{"ru","Загрузить настройки из файла ..."}
-},1,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,28,1e2,0,0,1,0,0,0,0},a3c501cf-0b0c-43c7-8e6c-c515ee4f4d8e,
+},1,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,28,1e2,0,0,1,0,0,0,0},39062f90-5d5e-4892-8819-43c73b45a419,
{8,"Разделитель",0,1,
{1,1,
{"ru","Действие"}
-},0,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,29,1e2,2,0,1,0,0,0,0},ca09fbcb-29b4-4050-809d-00a2c2e69426,
+},0,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,29,1e2,2,0,1,0,0,0,0},e17ba68c-32f5-4944-a6cc-0d28edc6593b,
{8,"ИсторияЗагрузкиТестов",0,1,
{1,1,
{"ru","История загрузки тестов"}
@@ -1219,13 +1194,9 @@ RU5ErkJggg==}
{-1,0,
{1,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,20,0}
}
-},
-{5,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,26,1,0,
-{0,0,
-{0}
}
}
-},0,0,0,1},
+},
{1,
{0,e1692cc2-605b-4535-84dd-28440238746c,
{3,"КнопкаЗагрузитьТестыНажатие",
@@ -1239,8 +1210,8 @@ RU5ErkJggg==}
{1,1,
{"ru","Кнопка загрузить тесты нажатие"}
},
-{4,0,
-{0},"",-1,-1,1,0,""},
+{3,0,
+{0},"",-1,-1,1,0},
{0,0,0}
}
}
@@ -1280,14 +1251,14 @@ RU5ErkJggg==}
{6ff79819-710e-4145-97cd-1618da79e3e2,21,
{1,
{
-{15,1,
+{10,1,
{3,4,
{0}
},
{3,4,
{0}
},
-{7,3,0,1,100},1,
+{6,3,0,1},1,
{3,3,
{-22}
},
@@ -1305,12 +1276,13 @@ RU5ErkJggg==}
},
{3,0,
{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e},
-{1,0},0,0,100,0},14,
+{1,0}
+},10,
{1,2,
{"#","Перезагрузить"},
{"ru","Перезагрузить"}
},1,1,0,0,0,
-{4,3,
+{3,3,
{0},"",-1,-1,0,
{
{#base64:iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2Fy
@@ -1341,10 +1313,10 @@ A5NmwKFC0/PLtq62ovdaPRQix06qmJuALSJ74mtGzHnBalirNn1GZfmK3njMDXCJ
BguK5OCb5OCdsRjPzXIg/qV4LWdl5AGyvOJa/LLzgL7Lh5bic2AxDUSCuJ8sg4fZ
fpcIxAUgkUoIHsoxHlpxsReNeI9EIrDkX2QLIpCML+Wkf5z+LcAAUD/gDNueXkgA
AAAASUVORK5CYII=}
-},0,""},
+},0},
{0,0,0},0,2,
{5,41c23139-b710-4b93-a93e-1a3fe9843cfe,5,1,3,
-{6,fa708bd8-8fc9-4dd0-af4f-399937e0b3f5,1,e1692cc2-605b-4535-84dd-28440238746c,
+{6,626572d9-7bc6-4367-9c0f-0aeb92a7703d,1,e1692cc2-605b-4535-84dd-28440238746c,
{3,"КнопкаПерезагрузитьПерезагрузитьБраузерТестирования",
{1,"КнопкаПерезагрузитьПерезагрузитьБраузерТестирования",
{1,1,
@@ -1356,12 +1328,12 @@ AAAASUVORK5CYII=}
{1,1,
{"ru","Перезагрузить браузер тестирования"}
},
-{4,0,
-{0},"",-1,-1,1,0,""},
+{3,0,
+{0},"",-1,-1,1,0},
{0,0,0}
}
},0},
-{6,bea52a2a-47e0-4a43-9676-a823943f7bd5,1,e1692cc2-605b-4535-84dd-28440238746c,
+{6,edb0534b-b22e-4bc9-a803-24ef571a5419,1,e1692cc2-605b-4535-84dd-28440238746c,
{3,"ПерезагрузитьПоследниеТестыПоИстории",
{1,"ПерезагрузитьПоследниеТестыПоИстории",
{1,1,
@@ -1373,8 +1345,8 @@ AAAASUVORK5CYII=}
{1,1,
{"ru","Перезагрузить последние тесты по истории"}
},
-{4,0,
-{0},"",-1,-1,1,0,""},
+{3,0,
+{0},"",-1,-1,1,0},
{0,0,0}
}
},7,
@@ -1384,7 +1356,7 @@ AAAASUVORK5CYII=}
{1,1,
{"ru","Перезагрузить тесты"}
},
-{4,3,
+{3,3,
{0},"",-1,-1,0,
{
{#base64:iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2Fy
@@ -1415,19 +1387,19 @@ A5NmwKFC0/PLtq62ovdaPRQix06qmJuALSJ74mtGzHnBalirNn1GZfmK3njMDXCJ
BguK5OCb5OCdsRjPzXIg/qV4LWdl5AGyvOJa/LLzgL7Lh5bic2AxDUSCuJ8sg4fZ
fpcIxAUgkUoIHsoxHlpxsReNeI9EIrDkX2QLIpCML+Wkf5z+LcAAUD/gDNueXkgA
AAAASUVORK5CYII=}
-},0,""}
+},0}
},
-{6,b07922f0-763b-4284-9d3e-6097f5c5ca96,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6,
+{6,047cd14d-3210-46d3-82d4-b19fecf0d920,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6,
{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0},1,
-{5,31946946-0a9b-40a2-95cf-82f200778341,0,0,3,bea52a2a-47e0-4a43-9676-a823943f7bd5,
+{5,31946946-0a9b-40a2-95cf-82f200778341,0,0,3,edb0534b-b22e-4bc9-a803-24ef571a5419,
{8,"ПерезагрузитьТесты",0,1,
{1,1,
{"ru","Перезагрузить тесты"}
-},1,41c23139-b710-4b93-a93e-1a3fe9843cfe,1,1e2,0,0,1,0,0,0,0},b07922f0-763b-4284-9d3e-6097f5c5ca96,
+},1,41c23139-b710-4b93-a93e-1a3fe9843cfe,1,1e2,0,0,1,0,0,0,0},047cd14d-3210-46d3-82d4-b19fecf0d920,
{8,"Разделитель",0,1,
{1,1,
{"ru","Действие"}
-},0,41c23139-b710-4b93-a93e-1a3fe9843cfe,2,1e2,2,0,1,0,0,0,0},fa708bd8-8fc9-4dd0-af4f-399937e0b3f5,
+},0,41c23139-b710-4b93-a93e-1a3fe9843cfe,2,1e2,2,0,1,0,0,0,0},626572d9-7bc6-4367-9c0f-0aeb92a7703d,
{8,"ПерезагрузитьБраузерТестирования",0,1,
{1,1,
{"#","Перезагрузить браузер тестирования"}
@@ -1436,7 +1408,8 @@ AAAASUVORK5CYII=}
{0}
}
}
-},0,0,0,1},
+}
+},
{1,
{0,e1692cc2-605b-4535-84dd-28440238746c,
{3,"ПерезагрузитьПоследниеТестыПоИстории",
@@ -1450,8 +1423,8 @@ AAAASUVORK5CYII=}
{1,1,
{"ru","Перезагрузить последние тесты по истории"}
},
-{4,0,
-{0},"",-1,-1,1,0,""},
+{3,0,
+{0},"",-1,-1,1,0},
{0,0,0}
}
}
@@ -1491,14 +1464,14 @@ AAAASUVORK5CYII=}
{6ff79819-710e-4145-97cd-1618da79e3e2,23,
{1,
{
-{15,1,
+{10,1,
{3,4,
{0}
},
{3,4,
{0}
},
-{7,3,0,1,100},1,
+{6,3,0,1},1,
{3,3,
{-22}
},
@@ -1516,12 +1489,13 @@ AAAASUVORK5CYII=}
},
{3,0,
{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e},
-{1,0},0,0,100,0},14,
+{1,0}
+},10,
{1,2,
{"#","Назад"},
{"ru","Назад"}
},1,1,0,0,0,
-{4,3,
+{3,3,
{0},"",-1,-1,0,
{
{#base64:iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAE1mlDQ1BJQ0MgUHJv
@@ -1571,8 +1545,8 @@ dH9oHdVDevGxH3vaTveMsbLgPgo8gYy8B+b8Jhw8TTT4s/xu2S2Xk+fOjGy8KVBC
b++Zz4O/yC8XIkCZ0qqkMqLZ5gSybNPsMQeglNeyNjfAjtAQn/Z1ccL2IQCLVPUy
7W/TNusqExOm2OSKTeQE3EAO4LXbHMB1tQgml0/YpBag24RJuz/VkoBh940p4paw
hP8WfwNIdpwThSRjAwAAAABJRU5ErkJggg==}
-},0,""},
-{0,0,0},0,0,0,0,0,1},
+},0},
+{0,0,0},0,0},
{0}
},
{8,8,8,116,37,1,
@@ -1609,14 +1583,14 @@ hP8WfwNIdpwThSRjAwAAAABJRU5ErkJggg==}
{1,
{
{
-{15,1,
+{10,1,
{3,4,
{0}
},
{3,4,
{0}
},
-{7,3,0,1,100},0,
+{6,3,0,1},0,
{3,3,
{-22}
},
@@ -1634,11 +1608,12 @@ hP8WfwNIdpwThSRjAwAAAABJRU5ErkJggg==}
},
{3,0,
{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e},
-{1,0},0,0,100,0},6,
+{1,0}
+},4,
{1,2,
{"#","Автоматически перезагружать тесты перед повторным выполнением"},
{"ru","Автоматически перезагружать тесты перед повторным выполнением"}
-},1,0,1,0,100,1},4,0,0,0,0,0},
+},1,0,1},1,0,0},
{0}
},
{8,12,89,507,104,1,
@@ -1674,15 +1649,15 @@ hP8WfwNIdpwThSRjAwAAAABJRU5ErkJggg==}
{0fc7e20d-f241-460c-bdf4-5ad88e5474a5,25,
{3,
{
-{15,1,
+{10,1,
{3,4,
{-7}
},
{3,4,
{0}
},
-{7,1,2,
-{0},140,1,100},0,
+{6,1,2,
+{0},140,1},0,
{3,3,
{-22}
},
@@ -1700,15 +1675,16 @@ hP8WfwNIdpwThSRjAwAAAABJRU5ErkJggg==}
},
{3,0,
{0},4,2,0,48312c09-257f-4b29-b280-284dd89efc1e},
-{1,0},0,0,100,0},11,
+{1,0}
+},7,
{1,2,
{"#"," Настройки"},
{"ru","Настройки"}
},4,1,0,0,0,
{0,0,0},0,
{1,0},1,
-{7,4,
-{4,3,
+{3,4,
+{3,3,
{0},"",-1,-1,0,
{
{#base64:iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAAL
@@ -1812,11 +1788,8 @@ yWS2GxoaXKUU831fyz55siCE+L2UkpumqUkpNQAol8v47OHDjxhjaqdqS18IQY7j
kO/7BEAWCgUfgLh58yYNDw2pFwDU2vDQkCIp1bVr1xQAkUwmg3jNzc1pT58+1Xp6
ejQAyOVyu0phQ0ODisfjam5uTvX39wdGksmkqu09PDS0y95/BwDz0r7LFRjEqgAA
AABJRU5ErkJggg==}
-},0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},100,0,0},4,0,0,0,0,0,0,0},
+},0}
+},4},
{0}
},
{8,12,47,507,75,1,
@@ -1852,14 +1825,14 @@ AABJRU5ErkJggg==}
{6ff79819-710e-4145-97cd-1618da79e3e2,26,
{1,
{
-{15,1,
+{10,1,
{3,4,
{0}
},
{3,4,
{0}
},
-{7,3,0,1,100},1,
+{6,3,0,1},1,
{3,3,
{-22}
},
@@ -1877,12 +1850,13 @@ AABJRU5ErkJggg==}
},
{3,0,
{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e},
-{1,0},0,0,100,0},14,
+{1,0}
+},10,
{1,2,
{"#","Применить"},
{"ru","Применить"}
},1,1,0,0,2,
-{4,3,
+{3,3,
{0},"",-1,-1,0,
{
{#base64:iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhk
@@ -1917,8 +1891,8 @@ ScgO8hxJet9Ju4ce1XzSAAFEJWM4p0eUZu5TUUra56Tdzx/H/KEAAogaxnCegG+c
A+4nj2teAsAY0wFEAUQC6YG0kJREKhLP3vUKCDZMABKAAMAD+YG8sGh4by4HEJhX
AogBqAhAwqooc+wDKAIoBHNxnPOS38aClLSA3fviaEEFwpmXrUYgGcrUD83D4gAE
jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==}
-},0,""},
-{0,0,0},0,0,0,0,0,1},
+},0},
+{0,0,0},0,0},
{0}
},
{8,128,8,236,37,1,
@@ -1955,14 +1929,14 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==}
{1,
{
{
-{15,1,
+{10,1,
{3,4,
{0}
},
{3,4,
{0}
},
-{7,3,0,1,100},0,
+{6,3,0,1},0,
{3,3,
{-22}
},
@@ -1980,11 +1954,12 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==}
},
{3,0,
{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e},
-{1,0},0,0,100,0},6,
+{1,0}
+},4,
{1,2,
{"#","Выводить информацию об успешном выполнении тестов"},
{"ru","Выводить информацию об успешном выполнении тестов"}
-},1,0,1,0,100,1},4,0,0,0,0,0},
+},1,0,1},1,0,0},
{0}
},
{8,12,109,507,124,1,
@@ -2020,14 +1995,14 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==}
{6ff79819-710e-4145-97cd-1618da79e3e2,35,
{1,
{
-{15,1,
+{10,1,
{3,4,
{0}
},
{3,4,
{0}
},
-{7,3,0,1,100},1,
+{6,3,0,1},1,
{3,3,
{-22}
},
@@ -2045,16 +2020,34 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==}
},
{3,0,
{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e},
-{1,0},0,0,100,0},14,
+{1,0}
+},10,
{1,2,
{"#","Выполнить все тесты"},
{"ru","Внешние инструменты"}
},1,1,0,0,0,
-{4,0,
-{0},"",-1,-1,1,0,""},
+{3,0,
+{0},"",-1,-1,1,0},
{0,0,0},0,2,
{5,28c47454-3a17-4ec8-b47f-d5008bf3ea41,5,1,3,
-{6,5e1dc361-6a51-432e-bf7a-90a396690417,1,e1692cc2-605b-4535-84dd-28440238746c,
+{6,5670d587-68ca-4eca-be7e-381d5402dc54,1,e1692cc2-605b-4535-84dd-28440238746c,
+{3,"КнопкаИнструментыПоказатьГУИД",
+{1,"КнопкаИнструментыПоказатьГУИД",
+{1,1,
+{"ru","Показать ГУИД"}
+},
+{1,1,
+{"ru","Показать ГУИД"}
+},
+{1,1,
+{"ru","Показать ГУИД"}
+},
+{3,0,
+{0},"",-1,-1,1,0},
+{0,0,0}
+}
+},0},
+{6,52802128-6baf-4f33-a4d4-69071a39536e,1,e1692cc2-605b-4535-84dd-28440238746c,
{3,"КнопкаИнструментыГенераторМакетовДанных",
{1,"КнопкаИнструментыГенераторМакетовДанных",
{1,1,
@@ -2066,8 +2059,8 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==}
{1,1,
{"ru","Генератор макетов данных"}
},
-{4,0,
-{0},"",-1,-1,1,0,""},
+{3,0,
+{0},"",-1,-1,1,0},
{0,0,0}
}
},7,
@@ -2077,10 +2070,10 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==}
{1,1,
{"ru","Генератор макетов данных на базе реальных данных"}
},
-{4,1,
-{0,01ec9d9a-7497-4d88-b93f-066c633a4866},"",-1,-1,1,0,""}
+{3,1,
+{0,01ec9d9a-7497-4d88-b93f-066c633a4866},"",-1,-1,1,0}
},
-{6,89ded119-30d5-4a33-866a-e8cb51c2a44a,1,e1692cc2-605b-4535-84dd-28440238746c,
+{6,f198b933-25ec-48f3-972b-1280f94e1702,1,e1692cc2-605b-4535-84dd-28440238746c,
{3,"КнопкаИнструментыКонвертерТестов",
{1,"КнопкаИнструментыКонвертерТестов",
{1,1,
@@ -2092,37 +2085,20 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==}
{1,1,
{"ru","Конвертер тестов"}
},
-{4,0,
-{0},"",-1,-1,1,0,""},
-{0,0,0}
-}
-},0},
-{6,c654e4cb-802c-491f-8642-57bed47a0400,1,e1692cc2-605b-4535-84dd-28440238746c,
-{3,"КнопкаИнструментыПоказатьГУИД",
-{1,"КнопкаИнструментыПоказатьГУИД",
-{1,1,
-{"ru","Показать ГУИД"}
-},
-{1,1,
-{"ru","Показать ГУИД"}
-},
-{1,1,
-{"ru","Показать ГУИД"}
-},
-{4,0,
-{0},"",-1,-1,1,0,""},
+{3,0,
+{0},"",-1,-1,1,0},
{0,0,0}
}
},0},1,
-{5,31946946-0a9b-40a2-95cf-82f200778341,0,0,3,5e1dc361-6a51-432e-bf7a-90a396690417,
+{5,31946946-0a9b-40a2-95cf-82f200778341,0,0,3,52802128-6baf-4f33-a4d4-69071a39536e,
{8,"ГенераторМакетовДанных",0,1,
{1,1,
{"#","Генератор макетов данных"}
-},0,28c47454-3a17-4ec8-b47f-d5008bf3ea41,1,1e2,0,0,1,0,0,0,0},c654e4cb-802c-491f-8642-57bed47a0400,
+},0,28c47454-3a17-4ec8-b47f-d5008bf3ea41,1,1e2,0,0,1,0,0,0,0},5670d587-68ca-4eca-be7e-381d5402dc54,
{8,"ПоказатьГУИД",0,1,
{1,1,
{"#","Показать ГУИД"}
-},0,28c47454-3a17-4ec8-b47f-d5008bf3ea41,2,1e2,0,0,1,0,0,0,0},89ded119-30d5-4a33-866a-e8cb51c2a44a,
+},0,28c47454-3a17-4ec8-b47f-d5008bf3ea41,2,1e2,0,0,1,0,0,0,0},f198b933-25ec-48f3-972b-1280f94e1702,
{8,"КонвертерТестов",0,1,
{1,1,
{"ru","Конвертер тестов в формат 4-й версии"}
@@ -2131,7 +2107,8 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==}
{0}
}
}
-},0,0,0,1},
+}
+},
{0}
},
{8,709,8,850,38,1,
@@ -2167,14 +2144,14 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==}
{6ff79819-710e-4145-97cd-1618da79e3e2,36,
{1,
{
-{15,1,
+{10,1,
{3,4,
{0}
},
{3,4,
{0}
},
-{7,3,0,1,100},1,
+{6,3,0,1},1,
{3,3,
{-22}
},
@@ -2192,14 +2169,15 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==}
},
{3,0,
{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e},
-{1,0},0,0,100,0},14,
+{1,0}
+},10,
{1,2,
{"#","Выполнить все тесты"},
{"ru","Выполнить выделенные (Ctrl+Enter)"}
},1,1,1,0,0,
-{4,1,
-{0,0ce78048-0196-4f80-a781-9829cdb7f43e},"",-1,-1,1,0,""},
-{0,0,0},0,0,0,0,0,1},
+{3,1,
+{0,0ce78048-0196-4f80-a781-9829cdb7f43e},"",-1,-1,1,0},
+{0,0,0},0,0},
{1,
{0,e1692cc2-605b-4535-84dd-28440238746c,
{3,"КнопкаВыполнитьВыделенныеТестыНажатие",
@@ -2213,8 +2191,8 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==}
{1,1,
{"ru","Кнопка выполнить выделенные тесты нажатие"}
},
-{4,0,
-{0},"",-1,-1,1,0,""},
+{3,0,
+{0},"",-1,-1,1,0},
{0,0,0}
}
}
@@ -2252,7 +2230,7 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==}
{0}
}
}
-},859,552,1,0,1,4,4,1390,859,552,96},
+},859,552,1,0,1,4,4,1394},
{
{1},27,
{4,
@@ -2303,8 +2281,8 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==}
{1,1,
{"ru","При открытии"}
},
-{4,0,
-{0},"",-1,-1,1,0,""},
+{3,0,
+{0},"",-1,-1,1,0},
{0,0,0}
}
}
@@ -2321,8 +2299,8 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==}
{1,1,
{"ru","При закрытии"}
},
-{4,0,
-{0},"",-1,-1,1,0,""},
+{3,0,
+{0},"",-1,-1,1,0},
{0,0,0}
}
}
@@ -2330,10 +2308,7 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==}
},0,4,1,0,0,0,
{1,5,10,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0},
{0},
-{7,0,
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},100,0,0},1,2,0,0,1,1}
\ No newline at end of file
+{3,0,
+{3,0,
+{0},"",-1,-1,1,0}
+},1,2,0,0,1,1}
\ No newline at end of file
diff --git "a/src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260/module.bsl" "b/src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260/module.bsl"
index 2d29463c..f4ab5afc 100644
--- "a/src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260/module.bsl"
+++ "b/src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260/module.bsl"
@@ -138,8 +138,12 @@
ДиалогВыбора.ПроверятьСуществованиеФайла = Истина;
ДиалогВыбора.ПолноеИмяФайла = ПутьФайлаНастроек();
- ОповещениеВыбора = Новый ОписаниеОповещения("ЗагрузитьНастройкиИзФайлаЗавершение", ЭтаФорма);
- ДиалогВыбора.Показать(ОповещениеВыбора);
+ // ОповещениеВыбора = Новый ОписаниеОповещения("ЗагрузитьНастройкиИзФайлаЗавершение", ЭтаФорма);
+ Если ДиалогВыбора.Выбрать() Тогда
+ ВыбранныеФайлы = Новый Массив;
+ ВыбранныеФайлы.Добавить(ДиалогВыбора.ПолноеИмяФайла);
+ ЗагрузитьНастройкиИзФайлаЗавершение(ВыбранныеФайлы, Неопределено);
+ КонецЕсли;
КонецПроцедуры
@@ -160,8 +164,8 @@
Обработка = ВнешниеОбработки.Создать(ФайлОбработки.ПолноеИмя, Ложь);
Попытка
ОписаниеПлагина = Обработка.ОписаниеПлагина(ЭтотОбъект.ТипыПлагинов);
- Обработка.Инициализация(ЭтотОбъект);
- ЭтотОбъект.Плагины.Вставить(ОписаниеПлагина.Идентификатор, Обработка);
+ //Обработка.Инициализация(ЭтотОбъект);
+ ЭтотОбъект.Плагины.Вставить(ОписаниеПлагина.Идентификатор, ФайлОбработки.ПолноеИмя);
Исключение
Ошибка = "Возникла ошибка при загрузке плагина: "+ФайлОбработки.Имя + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
Сообщить(Ошибка);
@@ -376,7 +380,7 @@
ПутьКОтчету = ОчередныеПараметры[1];
- ОписаниеОшибки = СтрШаблон("ОФ ПутьКОтчету %1", ПутьКОтчету);
+ ОписаниеОшибки = Плагин("СтроковыеУтилиты").СтрШаблон82("ОФ ПутьКОтчету %1", ПутьКОтчету);
ЗафиксироватьОшибкуВЖурналеРегистрации("xUnitFor1C." + ИдентификаторГенератораОтчета, ОписаниеОшибки, Истина);
Для Каждого Отчет Из НаборОтчетов Цикл
diff --git a/src/xddTestRunner/ObjectModule.bsl b/src/xddTestRunner/ObjectModule.bsl
index 9b0ad812..88a4cdd2 100644
--- a/src/xddTestRunner/ObjectModule.bsl
+++ b/src/xddTestRunner/ObjectModule.bsl
@@ -775,6 +775,7 @@
Иначе
ОбъектПлагина = ВнешниеОбработки.Создать(Идентификатор, Ложь);
КонецЕсли;
+ ОбъектПлагина.Инициализация(ЭтотОбъект);
КонецЕсли;
Возврат ОбъектПлагина;
diff --git a/src/xddTestRunner/maps.txt b/src/xddTestRunner/maps.txt
index 9c2cb88b..f9adbbb8 100644
--- a/src/xddTestRunner/maps.txt
+++ b/src/xddTestRunner/maps.txt
@@ -1 +1 @@
-Form\УправляемаяФорма\Форма.bsl-->ed07b230-8bf7-4423-b861-a31f23c7471f.0 (2 251, 3 607)
+Form\УправляемаяФорма\Форма.bsl-->ed07b230-8bf7-4423-b861-a31f23c7471f.0 (1 507, 2 886)
diff --git a/src/xddTestRunner/und/11ad5c96-c434-4088-bf66-ddff06c57ed8.1 b/src/xddTestRunner/und/11ad5c96-c434-4088-bf66-ddff06c57ed8.1
index 5c07e2e9..e3e951a5 100644
--- a/src/xddTestRunner/und/11ad5c96-c434-4088-bf66-ddff06c57ed8.1
+++ b/src/xddTestRunner/und/11ad5c96-c434-4088-bf66-ddff06c57ed8.1
@@ -4,8 +4,8 @@ cmFuc2l0aW9uYWwvL0VOIj48aHRtbD48aGVhZD48bWV0YSBjb250ZW50PSJ0ZXh0
L2h0bWw7Y2hhcnNldD11dGYtOCIgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIj48
L21ldGE+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJl
Zj0idjhoZWxwOi8vc2VydmljZV9ib29rL3NlcnZpY2Vfc3R5bGUiPjwvbGluaz48
-bWV0YSBuYW1lPSJHRU5FUkFUT1IiIGNvbnRlbnQ9Ik1TSFRNTCAxMS4wMC4xMDU3
-MC4xMDAxIj48L21ldGE+PC9oZWFkPjxib2R5Pg0KPHA+PGEgaHJlZj0iaHR0cHM6
+bWV0YSBuYW1lPSJHRU5FUkFUT1IiIGNvbnRlbnQ9Ik1TSFRNTCAxMS4wMC45NjAw
+LjE4NzkyIj48L21ldGE+PC9oZWFkPjxib2R5Pg0KPHA+PGEgaHJlZj0iaHR0cHM6
Ly9naXRodWIuY29tL3hEcml2ZW5EZXZlbG9wbWVudC94VW5pdEZvcjFDL3dpa2ki
Pmh0dHBzOi8vZ2l0aHViLmNvbS94RHJpdmVuRGV2ZWxvcG1lbnQveFVuaXRGb3Ix
Qy93aWtpPC9hPjwvcD4NCjxoMT48L2gxPg0KPHA+eFVuaXRGb3IxQyAtINC90LDQ
diff --git a/src/xddTestRunner/und/5070e3c3-f74b-4ecd-9756-1136a230eca2 b/src/xddTestRunner/und/5070e3c3-f74b-4ecd-9756-1136a230eca2
index 5459fa31..01b2f8f4 100644
--- a/src/xddTestRunner/und/5070e3c3-f74b-4ecd-9756-1136a230eca2
+++ b/src/xddTestRunner/und/5070e3c3-f74b-4ecd-9756-1136a230eca2
@@ -4,9 +4,9 @@
{1,
{4,9176d5a2-441b-4c0a-b8b7-bf86d41bf1d9,4ab27be4-7b10-4bb7-81eb-539076e44058,
{0,
-{1,
+{0,
{0,0,11ad5c96-c434-4088-bf66-ddff06c57ed8},"xddTestRunner",
-{1,"ru","Тестирование для 1С:Предприятия 8, xUnitFor1C"},"https://github.com/xDrivenDevelopment/xUnitFor1C",0,0}
+{1,"ru","Тестирование для 1С:Предприятия 8, xUnitFor1C"},"https://github.com/xDrivenDevelopment/xUnitFor1C"}
},a1ce7ef7-f372-4589-b899-7fbf88efa7bf,"",ed07b230-8bf7-4423-b861-a31f23c7471f},4,
{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0},
{3daea016-69b7-4ed4-9453-127911372fe6,0},
@@ -14,11 +14,11 @@
{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,14,
{
{0,
-{27,
+{25,
{2,
-{1,
+{0,
{0,0,c1ba54a0-a096-4a11-bc8b-5199576eca67},"ВозможныеИсключения",
-{1,"ru","Возможные исключения"},"",0,0},
+{1,"ru","Возможные исключения"},""},
{"Pattern"}
},0,
{0},
@@ -29,15 +29,15 @@
{3,0,0},
{0,0},0,
{0},
-{"S",""},0,0,0}
+{"S",""},0}
},0},
{
{0,
-{27,
+{25,
{2,
-{1,
+{0,
{0,0,966b3a73-6c03-4ff4-8768-54a1ac3bb295},"ВозможныеСобытия",
-{1,"ru","Возможные события"},"",0,0},
+{1,"ru","Возможные события"},""},
{"Pattern"}
},0,
{0},
@@ -48,15 +48,15 @@
{3,0,0},
{0,0},0,
{0},
-{"S",""},0,0,0}
+{"S",""},0}
},0},
{
{0,
-{27,
+{25,
{2,
-{1,
+{0,
{0,0,f29d604e-0e64-4aa6-b589-ff586180d5cf},"Настройки",
-{1,"ru","Настройки"},"",0,0},
+{1,"ru","Настройки"},""},
{"Pattern"}
},0,
{0},
@@ -67,15 +67,15 @@
{3,0,0},
{0,0},0,
{0},
-{"S",""},0,0,0}
+{"S",""},0}
},0},
{
{0,
-{27,
+{25,
{2,
-{1,
+{0,
{0,0,73c64032-a845-4bb8-9d30-f5b19f712f85},"Плагины",
-{1,"ru","Плагины"},"",0,0},
+{1,"ru","Плагины"},""},
{"Pattern"}
},0,
{0},
@@ -86,15 +86,15 @@
{3,0,0},
{0,0},0,
{0},
-{"S",""},0,0,0}
+{"S",""},0}
},0},
{
{0,
-{27,
+{25,
{2,
-{1,
+{0,
{0,0,0ee2237e-eff1-4672-b9fd-4d254f6d4b1a},"СостоянияТестов",
-{1,"ru","Состояния тестов"},"",0,0},
+{1,"ru","Состояния тестов"},""},
{"Pattern"}
},0,
{0},
@@ -105,15 +105,15 @@
{3,0,0},
{0,0},0,
{0},
-{"S",""},0,0,0}
+{"S",""},0}
},0},
{
{0,
-{27,
+{25,
{2,
-{1,
+{0,
{0,0,f6db7088-52fe-44ec-94f4-c29a5a160d0f},"ТекущийКонтейнер",
-{1,"ru","Текущий контейнер"},"",0,0},
+{1,"ru","Текущий контейнер"},""},
{"Pattern"}
},0,
{0},
@@ -124,15 +124,15 @@
{3,0,0},
{0,0},0,
{0},
-{"S",""},0,0,0}
+{"S",""},0}
},0},
{
{0,
-{27,
+{25,
{2,
-{1,
+{0,
{0,0,2476a703-4846-4172-87e2-da08366f9c67},"ТипыПлагинов",
-{1,"ru","Типы плагинов"},"",0,0},
+{1,"ru","Типы плагинов"},""},
{"Pattern"}
},0,
{0},
@@ -143,15 +143,15 @@
{3,0,0},
{0,0},0,
{0},
-{"S",""},0,0,0}
+{"S",""},0}
},0},
{
{0,
-{27,
+{25,
{2,
-{1,
+{0,
{0,0,660a1fcb-04b5-4dde-b0a0-b5580172c383},"ТипыУзловДереваТестов",
-{1,"ru","Типы узлов дерева тестов"},"",0,0},
+{1,"ru","Типы узлов дерева тестов"},""},
{"Pattern"}
},0,
{0},
@@ -162,15 +162,15 @@
{3,0,0},
{0,0},0,
{0},
-{"S",""},0,0,0}
+{"S",""},0}
},0},
{
{0,
-{27,
+{25,
{2,
-{1,
+{0,
{0,0,27301104-5ea7-4ade-b198-4c81a6b380fd},"СтатусыРезультатаТестирования",
-{1,"ru","Статусы результата тестирования"},"",0,0},
+{1,"ru","Статусы результата тестирования"},""},
{"Pattern"}
},0,
{0},
@@ -181,15 +181,15 @@
{3,0,0},
{0,0},0,
{0},
-{"S",""},0,0,0}
+{"S",""},0}
},0},
{
{0,
-{27,
+{25,
{2,
-{1,
+{0,
{0,0,e554f66d-117f-465a-adf3-0247ca468be3},"ЭтоВстроеннаяОбработка",
-{1,"ru","Это встроенная обработка"},"",0,0},
+{1,"ru","Это встроенная обработка"},""},
{"Pattern",
{"B"}
}
@@ -202,15 +202,15 @@
{3,0,0},
{0,0},0,
{0},
-{"S",""},0,0,0}
+{"S",""},0}
},0},
{
{0,
-{27,
+{25,
{2,
-{1,
+{0,
{0,0,25c6bd62-5cc5-41a3-b726-eaa6f64ed54a},"ИспользуемыйПрефиксПодсистемы",
-{1,"ru","Используемый префикс подсистемы"},"Префикс для объектов, встроенных в состав конфигурации. Если браузер тестов, плагины и утилиты встроены в конфигурцаию, то они должны иметь один префикс.",0,0},
+{1,"ru","Используемый префикс подсистемы"},"Префикс для объектов, встроенных в состав конфигурации. Если браузер тестов, плагины и утилиты встроены в конфигурцаию, то они должны иметь один префикс."},
{"Pattern",
{"S",20,1}
}
@@ -223,15 +223,15 @@
{3,0,0},
{0,0},0,
{0},
-{"S",""},0,0,0}
+{"S",""},0}
},0},
{
{0,
-{27,
+{25,
{2,
-{1,
+{0,
{0,0,661aabb5-acfd-4925-b0d1-ca22e2481a9b},"ПолноеИмяБраузераТестов",
-{1,"ru","Полное имя браузера тестов"},"",0,0},
+{1,"ru","Полное имя браузера тестов"},""},
{"Pattern",
{"S",512,1}
}
@@ -244,15 +244,15 @@
{3,0,0},
{0,0},0,
{0},
-{"S",""},0,0,0}
+{"S",""},0}
},0},
{
{0,
-{27,
+{25,
{2,
-{1,
+{0,
{0,0,459571ca-47ca-4c56-ad46-8ea05b580771},"ПолныйПутьКФайлуБраузераТестов",
-{1,"ru","Полный путь к файлу браузера тестов"},"",0,0},
+{1,"ru","Полный путь к файлу браузера тестов"},""},
{"Pattern",
{"S"}
}
@@ -265,15 +265,15 @@
{3,0,0},
{0,0},0,
{0},
-{"S",""},0,0,0}
+{"S",""},0}
},0},
{
{0,
-{27,
+{25,
{2,
-{1,
+{0,
{0,0,2749d7a3-7d96-4566-b2cb-5b12efd38679},"ПутьФайлаНастроек",
-{1,"ru","Путь файла настроек"},"",0,0},
+{1,"ru","Путь файла настроек"},""},
{"Pattern",
{"S"}
}
@@ -286,7 +286,7 @@
{3,0,0},
{0,0},0,
{0},
-{"S",""},0,0,0}
+{"S",""},0}
},0}
}
}
diff --git a/src/xddTestRunner/und/a1ce7ef7-f372-4589-b899-7fbf88efa7bf b/src/xddTestRunner/und/a1ce7ef7-f372-4589-b899-7fbf88efa7bf
index b52326ee..4ea2d18d 100644
--- a/src/xddTestRunner/und/a1ce7ef7-f372-4589-b899-7fbf88efa7bf
+++ b/src/xddTestRunner/und/a1ce7ef7-f372-4589-b899-7fbf88efa7bf
@@ -1,15 +1,10 @@
{1,
{1,
{0,
-{12,
-{1,
+{9,
+{0,
{0,0,a1ce7ef7-f372-4589-b899-7fbf88efa7bf},"Форма",
-{1,"ru","Форма"},"",0,1,32e087ab-1491-49b6-aba7-43571b41ac2b,3},0,0,
-{2,
-{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,1},
-{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,2}
-}
-},
+{1,"ru","Форма"},""},0,0},
{0}
}
},0}
\ No newline at end of file
diff --git a/src/xddTestRunner/und/copyinfo b/src/xddTestRunner/und/copyinfo
index 48164363..9a12db1e 100644
--- a/src/xddTestRunner/und/copyinfo
+++ b/src/xddTestRunner/und/copyinfo
@@ -13,7 +13,23 @@
{1,
{9176d5a2-441b-4c0a-b8b7-bf86d41bf1d9,11ad5c96-c434-4088-bf66-ddff06c57ed8,0}
},
-{6,
+{10,
+{
+{0,07f739b4-709b-41bf-8096-032bddefd0f9},9176d5a2-441b-4c0a-b8b7-bf86d41bf1d9,
+{-1}
+},
+{
+{0,092b3fc1-7ced-4d20-8a28-79b535f8a9c4},9176d5a2-441b-4c0a-b8b7-bf86d41bf1d9,
+{-1}
+},
+{
+{0,a2724854-2f5c-4048-b7b2-02cbb9cb7fa3},9176d5a2-441b-4c0a-b8b7-bf86d41bf1d9,
+{-1}
+},
+{
+{0,e46a4b91-3cc7-4188-b6f0-96c31aa42e19},9176d5a2-441b-4c0a-b8b7-bf86d41bf1d9,
+{-1}
+},
{
{1},e603c0f2-92fb-4d47-8f38-a44a381cf235,
{1}
diff --git a/src/xddTestRunner/und/ed07b230-8bf7-4423-b861-a31f23c7471f b/src/xddTestRunner/und/ed07b230-8bf7-4423-b861-a31f23c7471f
index 40208e9e..3fb5607b 100644
--- a/src/xddTestRunner/und/ed07b230-8bf7-4423-b861-a31f23c7471f
+++ b/src/xddTestRunner/und/ed07b230-8bf7-4423-b861-a31f23c7471f
@@ -1,15 +1,10 @@
{1,
{1,
{0,
-{12,
-{1,
+{9,
+{0,
{0,0,ed07b230-8bf7-4423-b861-a31f23c7471f},"УправляемаяФорма",
-{1,"ru","Управляемая форма"},"",0,1,32e087ab-1491-49b6-aba7-43571b41ac2b,3},0,1,
-{2,
-{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,1},
-{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,2}
-}
-},
+{1,"ru","Управляемая форма"},""},0,1},
{0}
}
},0}
\ No newline at end of file
diff --git a/src/xddTestRunner/und/ed07b230-8bf7-4423-b861-a31f23c7471f.0 b/src/xddTestRunner/und/ed07b230-8bf7-4423-b861-a31f23c7471f.0
index 2b0ec7ad..404531b1 100644
--- a/src/xddTestRunner/und/ed07b230-8bf7-4423-b861-a31f23c7471f.0
+++ b/src/xddTestRunner/und/ed07b230-8bf7-4423-b861-a31f23c7471f.0
@@ -1,9 +1,9 @@
-{3,
-{46,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,0,
+{2,
+{28,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,0,
{1,0},0,0,1,1,1,0,1,0,
-{3,3ccc650e-f631-4cae-8e33-3eaac610b5f9,"ПриОткрытии",9f2e5ddb-3492-4f5d-8f0d-416b8d1d5c5b,"ПриСозданииНаСервере",ca21cd18-35b2-4281-b5c8-016ecc8da8ac,"ПриЗакрытии",1,0,3ccc650e-f631-4cae-8e33-3eaac610b5f9,0,1,9f2e5ddb-3492-4f5d-8f0d-416b8d1d5c5b,0,1,ca21cd18-35b2-4281-b5c8-016ecc8da8ac,0,1},
+{3,3ccc650e-f631-4cae-8e33-3eaac610b5f9,"ПриОткрытии",9f2e5ddb-3492-4f5d-8f0d-416b8d1d5c5b,"ПриСозданииНаСервере",ca21cd18-35b2-4281-b5c8-016ecc8da8ac,"ПриЗакрытии"},
{0},1,
-{21,
+{17,
{-1,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1,
{0,
{0,
@@ -14,10 +14,10 @@
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},1,
{0,0,0},8,a9f3b1ac-f51b-431e-b102-55a69acdecad,
-{28,
+{19,
{423,02023637-7868-4a5f-8576-835a76e0c9ba},0,1,
{0,
{0,
@@ -37,9 +37,9 @@
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},0,
-{4,3,
+{3,3,
{0},"",-1,-1,0,
{
{#base64:iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+g
@@ -72,32 +72,9 @@ v7z6xrfBqzEgfxeqE7XJ4h8a1/aCgEzcbXeuH+b0RvNf+XOfI5UewfYAAAAldEVY
dGRhdGU6Y3JlYXRlADIwMTMtMDUtMjlUMDk6NDc6NDItMDU6MDBTDo/DAAAAJXRF
WHRkYXRlOm1vZGlmeQAyMDEzLTA1LTI4VDA2OjE3OjMwLTA1OjAwR0bHqQAAAABJ
RU5ErkJggg==}
-},0,""},1,
-{"Pattern"},"",2,0,1,
-{10,
-{432,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ФормаЗагрузитьТестыПоУмолчаниюРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},
-{"U"},1,0,0,1,0,0,0,3,3,3,0,0,0,0},cd5394d0-7dda-4b56-8927-93ccbe967a01,
-{21,
+},0},1,
+{"Pattern"},"",2},cd5394d0-7dda-4b56-8927-93ccbe967a01,
+{17,
{131,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1,
{0,
{0,
@@ -112,10 +89,10 @@ RU5ErkJggg==}
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},1,
-{7,
-{4,3,
+{6,
+{3,3,
{0},"",-1,-1,0,
{
{#base64:iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+g
@@ -148,16 +125,9 @@ v7z6xrfBqzEgfxeqE7XJ4h8a1/aCgEzcbXeuH+b0RvNf+XOfI5UewfYAAAAldEVY
dGRhdGU6Y3JlYXRlADIwMTMtMDUtMjlUMDk6NDc6NDItMDU6MDBTDo/DAAAAJXRF
WHRkYXRlOm1vZGlmeQAyMDEzLTA1LTI4VDA2OjE3OjMwLTA1OjAwR0bHqQAAAABJ
RU5ErkJggg==}
-},0,""},
-{0},2,3,0,0,
-{3,4,
-{0}
-},
-{3,4,
-{0}
-}
-},3,cd5394d0-7dda-4b56-8927-93ccbe967a01,
-{21,
+},0},
+{0},2,3},3,cd5394d0-7dda-4b56-8927-93ccbe967a01,
+{17,
{425,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1,
{0,
{0,
@@ -172,33 +142,11 @@ RU5ErkJggg==}
{3,4,
{0}
},
-{7,3,0,1,100},
-{0,0,0},1,
-{2,
-{0},2,0},0,1,0,1,
-{10,
-{434,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ПлагиныЗагрузчикиРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},0,3,3},a9f3b1ac-f51b-431e-b102-55a69acdecad,
-{28,
+{0},2},0,1},a9f3b1ac-f51b-431e-b102-55a69acdecad,
+{19,
{464,02023637-7868-4a5f-8576-835a76e0c9ba},0,1,
{0,
{0,
@@ -216,35 +164,12 @@ RU5ErkJggg==}
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},0,
-{4,0,
-{0},"",-1,-1,1,0,""},1,
-{"Pattern"},"",2,0,1,
-{10,
-{465,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"КнопкаЗагрузитьНастройкиИзФайлаРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},
-{"U"},1,0,0,1,0,0,0,3,3,3,0,0,0,0},cd5394d0-7dda-4b56-8927-93ccbe967a01,
-{21,
+{0},"",-1,-1,1,0},1,
+{"Pattern"},"",2},cd5394d0-7dda-4b56-8927-93ccbe967a01,
+{17,
{429,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1,
{0,
{0,
@@ -259,64 +184,13 @@ RU5ErkJggg==}
{3,4,
{0}
},
-{7,3,0,1,100},
-{0,0,0},1,
-{7,
-{4,0,
-{0},"",-1,-1,1,0,""},
-{0},2,3,0,0,
-{3,4,
-{0}
-},
-{3,4,
-{0}
-}
-},0,1,0,1,
-{10,
-{435,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ПодменюИсторияЗагрузкиТестовРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
+{6,
{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},0,3,3},1,0,1,
-{10,
-{433,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ПодменюЗагрузитьТестыРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},0,3,3},a9f3b1ac-f51b-431e-b102-55a69acdecad,
-{28,
+{0},"",-1,-1,1,0},
+{0},2,3},0,1},1},a9f3b1ac-f51b-431e-b102-55a69acdecad,
+{19,
{31,02023637-7868-4a5f-8576-835a76e0c9ba},0,1,
{0,
{0,
@@ -334,9 +208,9 @@ RU5ErkJggg==}
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},0,
-{4,3,
+{3,3,
{0},"",-1,-1,0,
{
{#base64:iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAAL
@@ -410,32 +284,9 @@ DP69ghDLch1Rl1utw3sKLEn+pQjCw8PQ/BKhghLQ+Ood4Wnn7OyjBo65J+hYPYHE
1/9qpisz78uRmRmYGMer6kAI8AfQBrro7H1C48IkHSFf+XfEll+i7VwbEiP70ZGP
jkJU8oGYVRiEhElgSyumXlGxrMnRf2g0Abq1Goj14vxrAEGh9iL0BPs8AAAAAElF
TkSuQmCC}
-},0,""},1,
-{"Pattern"},"",2,0,1,
-{10,
-{436,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"КомандаПерезагрузитьТестыРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},
-{"U"},1,0,0,1,0,0,0,3,3,3,0,0,0,0},a9f3b1ac-f51b-431e-b102-55a69acdecad,
-{28,
+},0},1,
+{"Pattern"},"",2},a9f3b1ac-f51b-431e-b102-55a69acdecad,
+{19,
{30,02023637-7868-4a5f-8576-835a76e0c9ba},0,1,
{0,
{0,
@@ -453,9 +304,9 @@ TkSuQmCC}
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},0,
-{4,3,
+{3,3,
{0},"",-1,-1,0,
{
{#base64:iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAAL
@@ -527,32 +378,9 @@ Ovr0xIQ+RXus/TsXMALDtKC3dHRsFxwAFUTIbgcNQ8OPUg0BVcJ3/QvynyvljU9q
iONyIssUhsGwXNDhOC5CQQWVilNNz+mPtCX1PjPC30QJIBL78wuckbbVgb20vO29
mam9GBrFhUODvdLr6e3HWk6+w5qhvEgBKvO9i8RNJZOZbt2wavZXrx5516k1ryzW
3BW3GkyJIgH1sX82kfz/Y/o5APw/CNRIkXZ3AAAAAElFTkSuQmCC}
-},0,""},1,
-{"Pattern"},"",2,0,1,
-{10,
-{437,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"КомандаВыполнитьВсеТестыРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},
-{"U"},1,0,0,1,0,0,0,3,3,3,0,0,0,0},a9f3b1ac-f51b-431e-b102-55a69acdecad,
-{28,
+},0},1,
+{"Pattern"},"",2},a9f3b1ac-f51b-431e-b102-55a69acdecad,
+{19,
{245,02023637-7868-4a5f-8576-835a76e0c9ba},0,1,
{0,
{0,
@@ -570,35 +398,12 @@ mam9GBrFhUODvdLr6e3HWk6+w5qhvEgBKvO9i8RNJZOZbt2wavZXrx5516k1ryzW
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},0,
-{4,0,
-{0},"",-1,-1,1,0,""},1,
-{"Pattern"},"",2,0,1,
-{10,
-{438,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ФормаКомандаВыполнитьВыделенныеТестыРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},
-{"U"},1,0,0,1,0,0,0,3,3,3,0,0,0,0},cd5394d0-7dda-4b56-8927-93ccbe967a01,
-{21,
+{0},"",-1,-1,1,0},1,
+{"Pattern"},"",2},cd5394d0-7dda-4b56-8927-93ccbe967a01,
+{17,
{126,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1,
{0,
{0,
@@ -613,20 +418,13 @@ mam9GBrFhUODvdLr6e3HWk6+w5qhvEgBKvO9i8RNJZOZbt2wavZXrx5516k1ryzW
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},1,
-{7,
-{4,0,
-{0},"",-1,-1,1,0,""},
-{0},2,3,0,0,
-{3,4,
-{0}
-},
-{3,4,
-{0}
-}
-},4,a9f3b1ac-f51b-431e-b102-55a69acdecad,
-{28,
+{6,
+{3,0,
+{0},"",-1,-1,1,0},
+{0},2,3},4,a9f3b1ac-f51b-431e-b102-55a69acdecad,
+{19,
{71,02023637-7868-4a5f-8576-835a76e0c9ba},0,1,
{0,
{0,
@@ -644,35 +442,12 @@ mam9GBrFhUODvdLr6e3HWk6+w5qhvEgBKvO9i8RNJZOZbt2wavZXrx5516k1ryzW
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},0,
-{4,0,
-{0},"",-1,-1,1,0,""},1,
-{"Pattern"},"",2,0,1,
-{10,
-{440,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"КомандаГенераторМакетовДанныхРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},
-{"U"},1,0,0,1,0,0,0,3,3,3,0,0,0,0},a9f3b1ac-f51b-431e-b102-55a69acdecad,
-{28,
+{0},"",-1,-1,1,0},1,
+{"Pattern"},"",2},a9f3b1ac-f51b-431e-b102-55a69acdecad,
+{19,
{73,02023637-7868-4a5f-8576-835a76e0c9ba},0,1,
{0,
{0,
@@ -690,35 +465,12 @@ mam9GBrFhUODvdLr6e3HWk6+w5qhvEgBKvO9i8RNJZOZbt2wavZXrx5516k1ryzW
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},0,
-{4,0,
-{0},"",-1,-1,1,0,""},1,
-{"Pattern"},"",2,0,1,
-{10,
-{441,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"КомандаПоказатьГУИДРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},
-{"U"},1,0,0,1,0,0,0,3,3,3,0,0,0,0},a9f3b1ac-f51b-431e-b102-55a69acdecad,
-{28,
+{0},"",-1,-1,1,0},1,
+{"Pattern"},"",2},a9f3b1ac-f51b-431e-b102-55a69acdecad,
+{19,
{430,02023637-7868-4a5f-8576-835a76e0c9ba},0,1,
{0,
{0,
@@ -736,35 +488,12 @@ mam9GBrFhUODvdLr6e3HWk6+w5qhvEgBKvO9i8RNJZOZbt2wavZXrx5516k1ryzW
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},0,
-{4,0,
-{0},"",-1,-1,1,0,""},1,
-{"Pattern"},"",2,0,1,
-{10,
-{442,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ФормаКонвертерТестовРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},
-{"U"},1,0,0,1,0,0,0,3,3,3,0,0,0,0},a9f3b1ac-f51b-431e-b102-55a69acdecad,
-{28,
+{0},"",-1,-1,1,0},1,
+{"Pattern"},"",2},a9f3b1ac-f51b-431e-b102-55a69acdecad,
+{19,
{431,02023637-7868-4a5f-8576-835a76e0c9ba},0,1,
{0,
{0,
@@ -782,57 +511,12 @@ mam9GBrFhUODvdLr6e3HWk6+w5qhvEgBKvO9i8RNJZOZbt2wavZXrx5516k1ryzW
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},0,
-{4,0,
-{0},"",-1,-1,1,0,""},1,
-{"Pattern"},"",2,0,1,
-{10,
-{443,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ФормаПреобразоватьЖурналДействийПользователяВТестРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},
-{"U"},1,0,0,1,0,0,0,3,3,3,0,0,0,0},1,0,1,
-{10,
-{439,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ГруппаВнешниеИнструментыРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},0,3,3},a9f3b1ac-f51b-431e-b102-55a69acdecad,
-{28,
+{0},"",-1,-1,1,0},1,
+{"Pattern"},"",2},1},a9f3b1ac-f51b-431e-b102-55a69acdecad,
+{19,
{137,02023637-7868-4a5f-8576-835a76e0c9ba},0,1,
{0,
{0,
@@ -850,35 +534,12 @@ mam9GBrFhUODvdLr6e3HWk6+w5qhvEgBKvO9i8RNJZOZbt2wavZXrx5516k1ryzW
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},0,
-{4,0,
-{0},"",-1,-1,1,0,""},1,
-{"Pattern"},"",2,0,1,
-{10,
-{444,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ФормаКомандаПерезагрузитьФормуРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},
-{"U"},1,0,0,1,0,0,0,3,3,3,0,0,0,0},a9f3b1ac-f51b-431e-b102-55a69acdecad,
-{28,
+{0},"",-1,-1,1,0},1,
+{"Pattern"},"",2},a9f3b1ac-f51b-431e-b102-55a69acdecad,
+{19,
{356,02023637-7868-4a5f-8576-835a76e0c9ba},0,1,
{0,
{0,
@@ -896,35 +557,12 @@ mam9GBrFhUODvdLr6e3HWk6+w5qhvEgBKvO9i8RNJZOZbt2wavZXrx5516k1ryzW
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},0,
-{4,0,
-{0},"",-1,-1,1,0,""},1,
-{"Pattern"},"",2,0,1,
-{10,
-{445,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ФормаИзменитьФормуРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},
-{"U"},1,0,0,1,0,0,0,3,3,3,0,0,0,0},1,0,0,0,3,3},2,cd5394d0-7dda-4b56-8927-93ccbe967a01,
-{21,
+{0},"",-1,-1,1,0},1,
+{"Pattern"},"",2},1},2,cd5394d0-7dda-4b56-8927-93ccbe967a01,
+{17,
{124,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1,
{0,
{0,
@@ -939,17 +577,13 @@ mam9GBrFhUODvdLr6e3HWk6+w5qhvEgBKvO9i8RNJZOZbt2wavZXrx5516k1ryzW
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},1,
-{23,0,0,0,0,
+{12,0,0,0,0,
{0},
{1,0},
-{"Pattern"},"",
-{3,4,
-{0}
-},0,0,0,1,
-{1,0},0,0,3,3,2,0,1,0},1,143c00f7-a42d-4cd7-9189-88e4467dc768,
-{51,
+{"Pattern"},""},1,143c00f7-a42d-4cd7-9189-88e4467dc768,
+{42,
{404,02023637-7868-4a5f-8576-835a76e0c9ba},0,2,1,
{0,
{0,
@@ -963,7 +597,7 @@ mam9GBrFhUODvdLr6e3HWk6+w5qhvEgBKvO9i8RNJZOZbt2wavZXrx5516k1ryzW
{1,
{6}
},
-{4,3,
+{3,3,
{0},"",-1,-1,0,
{
{#base64:iVBORw0KGgoAAAANSUhEUgAAAIAAAAAQCAYAAADeWHeIAAAABmJLR0QA/wD/AP+g
@@ -1020,7 +654,7 @@ cHZCQtx5OwQ/CxrZK9esbRIPEB/bnss6tEcRcO3MBxsSWy/tRzezDxAf257B9p7B
PbwLwat9M7YNBmyt5MYIhP9zLlfWP7Z9AZAW5rrNwqZmXYqc31LF35x/4ui7/qev
haH4OfZEmTn7fHH6aGr3BnagjUvtLgEOFOxjZPq+Cx4vPrrxfuCBgn3fjnpk34Xi
D/Nbu3St+stsWd09XoZueNV+vF7+v5/tv6odfeWMgg1nAAAAAElFTkSuQmCC}
-},0,""},
+},0},
{3,4,
{0}
},
@@ -1030,15 +664,15 @@ D/Nbu3St+stsWd09XoZueNV+vF7+v5/tv6odfeWMgg1nAAAAAElFTkSuQmCC}
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},0,0,0,
-{0,1,0},
+{0},
{0},1,
-{21,
+{17,
{405,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1,
{0,
{0,
@@ -1049,10 +683,10 @@ D/Nbu3St+stsWd09XoZueNV+vF7+v5/tv6odfeWMgg1nAAAAAElFTkSuQmCC}
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},1,
{1,0},1,a9f3b1ac-f51b-431e-b102-55a69acdecad,
-{28,
+{19,
{427,02023637-7868-4a5f-8576-835a76e0c9ba},0,1,
{0,
{0,
@@ -1070,35 +704,12 @@ D/Nbu3St+stsWd09XoZueNV+vF7+v5/tv6odfeWMgg1nAAAAAElFTkSuQmCC}
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},0,
-{4,0,
-{0},"",-1,-1,1,0,""},1,
-{"Pattern"},"",2,0,1,
-{10,
-{447,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ДеревоТестовКонтекстноеМенюКомандаВыполнитьВыделенныеТестыРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},
-{"U"},1,0,0,1,0,0,0,3,3,3,0,0,0,0},1,0,0,0,3,3},1,
-{21,
+{0},"",-1,-1,1,0},1,
+{"Pattern"},"",2},1},1,
+{17,
{406,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1,
{0,
{0,
@@ -1109,10 +720,10 @@ D/Nbu3St+stsWd09XoZueNV+vF7+v5/tv6odfeWMgg1nAAAAAElFTkSuQmCC}
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},1,
-{0,0,0},0,1,0,0,0,3,3},5,77ffcc29-7f2d-4223-b22f-19666e7250ba,
-{33,
+{0,0,0},0,1},5,77ffcc29-7f2d-4223-b22f-19666e7250ba,
+{30,
{411,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1,
{0,
{0,
@@ -1127,14 +738,14 @@ D/Nbu3St+stsWd09XoZueNV+vF7+v5/tv6odfeWMgg1nAAAAAElFTkSuQmCC}
{0},1,0,2,0,2,
{1,0},
{1,0},1,1,0,3,0,3,2,3,0,
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},
+{3,0,
+{0},"",-1,-1,1,0},
+{3,0,
+{0},"",-1,-1,1,0},
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{3,4,
{0}
},
@@ -1144,10 +755,10 @@ D/Nbu3St+stsWd09XoZueNV+vF7+v5/tv6odfeWMgg1nAAAAAElFTkSuQmCC}
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},1,
-{8,0,0,1,1,
-{4,3,
+{7,0,0,1,1,
+{3,3,
{0},"",-1,-1,0,
{
{#base64:iVBORw0KGgoAAAANSUhEUgAAAFAAAAAQCAYAAACBSfjBAAAABGdBTUEAALGPC/xh
@@ -1196,7 +807,7 @@ eZPwa0asArY/9zYM8Y3QR68teUKZed+8A5b18yc7h0IPc33s3pME1LyOXbP31dPD
Qg2sRV/JQCPvA4MX1q6+bmvwnJIVdZt3RWORSdTEbDL1fFpWv81g/NILc/N/+x9Y
i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
7sC/68BdS71tH9LcEKQAAAAASUVORK5CYII=}
-},0,""},0,0,0,
+},0},0,0,0,
{1,0},
{3,4,
{0}
@@ -1204,12 +815,13 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{3,0,
{0},1,1,0,48312c09-257f-4b29-b280-284dd89efc1e},0,0,
-{0,1,0},1,0,0,1,0},
-{0,1,0},1,
-{21,
+{0}
+},
+{0},1,
+{17,
{412,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1,
{0,
{0,
@@ -1220,35 +832,13 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},1,
-{1,1},0,1,0,0,0,3,3},1,
+{1,1},0,1},1,
{"Pattern"},
{"Pattern"},"","",
-{0},0,0,1,
-{10,
-{458,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ДеревоТестовСостояниеРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},3,3},77ffcc29-7f2d-4223-b22f-19666e7250ba,
-{33,
+{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba,
+{30,
{414,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1,
{0,
{0,
@@ -1263,14 +853,14 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
{0},1,0,2,0,2,
{1,0},
{1,0},1,1,0,3,0,3,2,3,0,
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},
+{3,0,
+{0},"",-1,-1,1,0},
+{3,0,
+{0},"",-1,-1,1,0},
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{3,4,
{0}
},
@@ -1280,20 +870,20 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},1,
-{32,
-{3,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2,
+{26,
+{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2,
{"U"},
{"U"},"",0,
-{4,0,
-{0},"",-1,-1,1,0,""},0,0,2,3,00000000-0000-0000-0000-000000000000,
+{3,0,
+{0},"",-1,-1,1,0},0,0,2,3,00000000-0000-0000-0000-000000000000,
{5004,0},
{0,0},2,
{1,0},
{1,0},2,1,0,
{"Pattern"},1,
-{0,1,0},
+{0},
{3,4,
{0}
},
@@ -1303,11 +893,10 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
{3,4,
{0}
},
-{7,3,0,1,100},1,
-{3,0,0},0,
-{1,0},2,0,2,0,1,0,0,1,0,0,0,0,0,0,0,0,0},
-{0,1,0},1,
-{21,
+{6,3,0,1},1,
+{3,0,0},0},
+{0},1,
+{17,
{415,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1,
{0,
{0,
@@ -1318,35 +907,13 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},1,
-{1,1},0,1,0,0,0,3,3},1,
+{1,1},0,1},1,
{"Pattern"},
{"Pattern"},"","",
-{0},0,0,1,
-{10,
-{459,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ДеревоТестовИмяРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},3,3},77ffcc29-7f2d-4223-b22f-19666e7250ba,
-{33,
+{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba,
+{30,
{408,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1,
{0,
{0,
@@ -1363,14 +930,14 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
{0},1,0,2,0,2,
{1,0},
{1,0},1,1,0,3,0,3,2,3,0,
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},
+{3,0,
+{0},"",-1,-1,1,0},
+{3,0,
+{0},"",-1,-1,1,0},
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{3,4,
{0}
},
@@ -1380,20 +947,20 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},1,
-{32,
-{3,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2,
+{26,
+{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2,
{"U"},
{"U"},"",0,
-{4,0,
-{0},"",-1,-1,1,0,""},0,0,2,3,00000000-0000-0000-0000-000000000000,
+{3,0,
+{0},"",-1,-1,1,0},0,0,2,3,00000000-0000-0000-0000-000000000000,
{5004,0},
{0,0},2,
{1,0},
{1,0},2,1,0,
{"Pattern"},1,
-{0,1,0},
+{0},
{3,4,
{0}
},
@@ -1403,11 +970,10 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
{3,4,
{0}
},
-{7,3,0,1,100},1,
-{3,0,0},0,
-{1,0},2,0,2,0,1,0,0,1,0,0,0,0,0,0,0,0,0},
-{0,1,0},1,
-{21,
+{6,3,0,1},1,
+{3,0,0},0},
+{0},1,
+{17,
{409,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1,
{0,
{0,
@@ -1418,35 +984,13 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},1,
-{1,1},0,1,0,0,0,3,3},1,
+{1,1},0,1},1,
{"Pattern"},
{"Pattern"},"","",
-{0},0,0,1,
-{10,
-{460,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ДеревоТестовКоличествоТестовРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},3,3},77ffcc29-7f2d-4223-b22f-19666e7250ba,
-{33,
+{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba,
+{30,
{417,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1,
{0,
{0,
@@ -1461,14 +1005,14 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
{0},1,0,2,0,2,
{1,0},
{1,0},1,1,0,3,0,3,2,3,0,
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},
+{3,0,
+{0},"",-1,-1,1,0},
+{3,0,
+{0},"",-1,-1,1,0},
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{3,4,
{0}
},
@@ -1478,20 +1022,20 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},1,
-{32,
-{3,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2,
+{26,
+{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2,
{"U"},
{"U"},"",0,
-{4,0,
-{0},"",-1,-1,1,0,""},0,0,2,3,00000000-0000-0000-0000-000000000000,
+{3,0,
+{0},"",-1,-1,1,0},0,0,2,3,00000000-0000-0000-0000-000000000000,
{5004,0},
{0,0},2,
{1,0},
{1,0},2,1,0,
{"Pattern"},1,
-{0,1,0},
+{0},
{3,4,
{0}
},
@@ -1501,11 +1045,10 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
{3,4,
{0}
},
-{7,3,0,1,100},1,
-{3,0,0},0,
-{1,0},2,0,2,0,1,0,0,1,0,0,0,0,0,0,0,0,0},
-{0,1,0},1,
-{21,
+{6,3,0,1},1,
+{3,0,0},0},
+{0},1,
+{17,
{418,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1,
{0,
{0,
@@ -1516,35 +1059,13 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},1,
-{1,1},0,1,0,0,0,3,3},1,
+{1,1},0,1},1,
{"Pattern"},
{"Pattern"},"","",
-{0},0,0,1,
-{10,
-{461,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ДеревоТестовВремяВыполненияРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},3,3},77ffcc29-7f2d-4223-b22f-19666e7250ba,
-{33,
+{0},0},77ffcc29-7f2d-4223-b22f-19666e7250ba,
+{30,
{420,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1,
{0,
{0,
@@ -1559,14 +1080,14 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
{0},1,0,2,0,2,
{1,0},
{1,0},1,1,0,3,0,3,2,3,0,
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},
+{3,0,
+{0},"",-1,-1,1,0},
+{3,0,
+{0},"",-1,-1,1,0},
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{3,4,
{0}
},
@@ -1576,20 +1097,20 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},1,
-{32,
-{3,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2,
+{26,
+{1,0},0,0,2,2,1,2,2,2,2,2,2,2,2,2,
{"U"},
{"U"},"",0,
-{4,0,
-{0},"",-1,-1,1,0,""},0,0,2,3,00000000-0000-0000-0000-000000000000,
+{3,0,
+{0},"",-1,-1,1,0},0,0,2,3,00000000-0000-0000-0000-000000000000,
{5004,0},
{0,0},2,
{1,0},
{1,0},2,1,0,
{"Pattern"},1,
-{0,1,0},
+{0},
{3,4,
{0}
},
@@ -1599,11 +1120,10 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
{3,4,
{0}
},
-{7,3,0,1,100},1,
-{3,0,0},0,
-{1,0},2,0,2,0,1,0,0,1,0,0,0,0,0,0,0,0,0},
-{0,1,0},1,
-{21,
+{6,3,0,1},1,
+{3,0,0},0},
+{0},1,
+{17,
{421,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1,
{0,
{0,
@@ -1614,236 +1134,14 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},1,
-{1,1},0,1,0,0,0,3,3},1,
+{1,1},0,1},1,
{"Pattern"},
{"Pattern"},"","",
-{0},0,0,1,
-{10,
-{462,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ДеревоТестовПутьРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},3,3},2,2,1,0,
-{"Pattern"},"","",2,2,0,1,
-{10,
-{448,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ДеревоТестовРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},1,1,1,1,
-{4,
-{449,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ДеревоТестовСтрокаПоиска",
-{1,0},
-{1,0},1,1,0,1,
-{1,0,2,
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,1,0},1,0,0},1,
-{21,
-{450,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,8,"ДеревоТестовСтрокаПоискаКонтекстноеМеню",
-{1,0},
-{1,0},0,1,0,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{1,1},0,1,0,0,0,3,3},1,
-{10,
-{451,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ДеревоТестовСтрокаПоискаРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},2,
-{404,0},0,3,3},1,
-{4,
-{452,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,1,"ДеревоТестовСостояниеПросмотра",
-{1,0},
-{1,0},1,1,0,1,
-{1,0,2,
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{7,3,0,1,100},
-{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e},3,
-{0,1,0},1,0,0},1,
-{21,
-{453,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,8,"ДеревоТестовСостояниеПросмотраКонтекстноеМеню",
-{1,0},
-{1,0},0,1,0,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{1,1},0,1,0,0,0,3,3},1,
-{10,
-{454,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ДеревоТестовСостояниеПросмотраРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},2,
-{404,1},0,3,3},1,
-{4,
-{455,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,2,"ДеревоТестовУправлениеПоиском",
-{1,0},
-{1,0},1,1,0,1,
-{1,0,
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,1,0},1,0,0,2},1,
-{21,
-{456,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,8,"ДеревоТестовУправлениеПоискомКонтекстноеМеню",
-{1,0},
-{1,0},0,1,0,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{1,1},0,1,0,0,0,3,3},1,
-{10,
-{457,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ДеревоТестовУправлениеПоискомРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},2,
-{404,2},0,3,3},0,1,0,0,1,0,3,3,0,1,0},1,0,1,
-{10,
-{446,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ГруппаДеревоТестовРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},0,3,3},77ffcc29-7f2d-4223-b22f-19666e7250ba,
-{33,
+{0},0},2,2,1,0,
+{"Pattern"},"","",2,2},1},77ffcc29-7f2d-4223-b22f-19666e7250ba,
+{30,
{129,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1,
{0,
{0,
@@ -1857,14 +1155,14 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
{0},1,0,2,0,2,
{1,0},
{1,0},1,1,0,3,0,3,1,3,0,
-{4,0,
-{0},"",-1,-1,1,0,""},
-{4,0,
-{0},"",-1,-1,1,0,""},
+{3,0,
+{0},"",-1,-1,1,0},
+{3,0,
+{0},"",-1,-1,1,0},
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{3,4,
{0}
},
@@ -1874,14 +1172,15 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},1,
-{4,32,1,1,0,0,100,0,0,1,
+{3,32,1,1,0,0,100,0,0,1,
{3,4,
{0}
-},1,0,0,1,0},
-{0,1,0},1,
-{21,
+}
+},
+{0},1,
+{17,
{130,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1,
{0,
{0,
@@ -1892,35 +1191,13 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
{3,4,
{0}
},
-{7,3,0,1,100},
+{6,3,0,1},
{0,0,0},1,
-{1,1},0,1,0,0,0,3,3},1,
+{1,1},0,1},1,
{"Pattern"},
{"Pattern"},"","",
-{0},0,0,1,
-{10,
-{463,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ИндикаторВыполненияРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},3,3},"","",1,
-{21,
+{0},0},"","",1,
+{17,
{0},0,0,1,
{0,
{0,
@@ -1931,30 +1208,9 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
{3,4,
{0}
},
-{7,3,0,1,100},
-{0,0,0},0,0,1,0,1,
-{10,
-{0},0,0,0,0,"NavigatorРасширеннаяПодсказка",
-{1,0},
-{1,0},1,0,0,2,2,
-{3,4,
-{0}
-},
-{7,3,0,1,100},
-{0,0,0},1,
-{5,0,0,3,0,
-{0,1,0},
-{3,4,
-{0}
-},
-{3,4,
-{0}
-},
-{3,0,
-{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
-},0,1,2,
-{1,
-{1,0},0},0,0,1,0,0,1,0,3,3},0,3,3},1,"",2,0,0,0,0,0,3,3,0,0,2,100,1,1,0},"&НаКлиенте
+{6,3,0,1},
+{0,0,0},0,0,1}
+},"&НаКлиенте
Перем КэшФормПлагинов;
&НаКлиенте
Перем ПодключенныеВнешниеОбработки;
@@ -2079,8 +1335,13 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
ОткрытьФорму(ЭтаФорма.ИмяФормы);
Иначе
- Оповещение = Новый ОписаниеОповещения(""КомандаПерезагрузитьФормуЗавершение"", ЭтаФорма);
- НачатьПомещениеФайла(Оповещение, АдресХранилища, ЭтаФорма.ИспользуемоеИмяФайла , Ложь, ЭтаФорма.УникальныйИдентификатор);
+ // Back to 8.2
+ //Оповещение = Новый ОписаниеОповещения(""КомандаПерезагрузитьФормуЗавершение"", ЭтаФорма);
+ ВыбранноеИмяФайла = """";
+ Если ПоместитьФайл(АдресХранилища, ВыбранноеИмяФайла, ВыбранноеИмяФайла, Ложь, ЭтаФорма.УникальныйИдентификатор) Тогда
+ КомандаПерезагрузитьФормуЗавершение(Истина, АдресХранилища, ВыбранноеИмяФайла, Неопределено);
+ КонецЕсли;
+ // Back to 8.2
КонецЕсли;
@@ -2130,8 +1391,14 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
ДиалогВыбора.ПроверятьСуществованиеФайла = Истина;
ДиалогВыбора.ПолноеИмяФайла = ПутьФайлаНастроек();
- ОповещениеВыбора = Новый ОписаниеОповещения(""ЗагрузитьНастройкиИзФайлаЗавершение"", ЭтаФорма);
- ДиалогВыбора.Показать(ОповещениеВыбора);
+ // Back to 8.2
+ //ОповещениеВыбора = Новый ОписаниеОповещения(""ЗагрузитьНастройкиИзФайлаЗавершение"", ЭтаФорма);
+ Если ДиалогВыбора.Выбрать() Тогда
+ ВыбранныеФайлы = Новый Массив;
+ ВыбранныеФайлы.Добавить(ДиалогВыбора.ПолноеИмяФайла);
+ ЗагрузитьНастройкиИзФайлаЗавершение(ВыбранныеФайлы, Неопределено);
+ КонецЕсли;
+ /// Back to 8.2
КонецПроцедуры
@@ -2243,8 +1510,8 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
Исключение
Инфо = ИнформацияОбОшибке();
Если Инфо.Описание = ""Метод объекта не обнаружен (Инициализация)"" И
- СтрНайти(Инфо.ИсходнаяСтрока, ""ОбъектПлагин.Инициализация(ЭтаФорма);"") > 0 И
- СтрНайти(Инфо.ИмяМодуля, ""Форма.УправляемаяФорма.Форма"") > 0
+ Найти(Инфо.ИсходнаяСтрока, ""ОбъектПлагин.Инициализация(ЭтаФорма);"") > 0 И
+ Найти(Инфо.ИмяМодуля, ""Форма.УправляемаяФорма.Форма"") > 0
Тогда
Иначе
ВызватьИсключение;
@@ -2894,7 +2161,7 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
ПутьКОтчету = ОчередныеПараметры[1];
- ОписаниеОшибки = СтрШаблон(""УФ ПутьКОтчету %1"", ПутьКОтчету);
+ ОписаниеОшибки = Плагин(""СтроковеУтилиты"").СтрШаблон82(""УФ ПутьКОтчету %1"", ПутьКОтчету);
ЗафиксироватьОшибкуВЖурналеРегистрации(""xUnitFor1C."" + ИдентификаторГенератораОтчета, ОписаниеОшибки, Истина);
Для Каждого Отчет Из НаборОтчетов Цикл
@@ -2918,7 +2185,7 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
ГенераторКодаВозврата = Плагин(ИдентификаторПлагина);
ПутьФайлаКодаВозврата = Параметры_xddExitCodePath[1];
- ГенераторКодаВозврата.СформироватьФайл(ЭтотОбъект, ПутьФайлаКодаВозврата, РезультатыТестирования);
+ ГенераторКодаВозврата.СформироватьФайл(ЭтаФорма, ПутьФайлаКодаВозврата, РезультатыТестирования);
Исключение
Инфо = ИнформацияОбОшибке();
ОписаниеОшибки = ""Ошибка формирования файла статуса возврата при выполнении тестов в пакетном режиме
@@ -3015,9 +2282,15 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
Возврат;
КонецЕсли;
- Оповещение = Новый ОписаниеОповещения(""ОткрытьИнструментЗавершение"", ЭтаФорма, Новый Структура(""ИмяИнструмента, ИмяФормыИнструмента"", ИмяИнструмента, ИмяФормы));
- НачатьПомещениеФайла(Оповещение, АдресХранилища, ФайлИнструмента.ПолноеИмя , Ложь, ЭтаФорма.УникальныйИдентификатор);
-
+ // Back to 8.2
+ //Оповещение = Новый ОписаниеОповещения(""ОткрытьИнструментЗавершение"", ЭтаФорма, Новый Структура(""ИмяИнструмента, ИмяФормыИнструмента"", ИмяИнструмента, ИмяФормы));
+ ВыбранноеИмяФайла = """";
+ Если ПоместитьФайл(АдресХранилища, ФайлИнструмента.ПолноеИмя, ВыбранноеИмяФайла , Ложь, ЭтаФорма.УникальныйИдентификатор) Тогда
+ ДопПараметры = Новый Структура(""ИмяИнструмента, ИмяФормыИнструмента"", ИмяИнструмента, ИмяФормы);
+ ОткрытьИнструментЗавершение(Истина, АдресХранилища, ВыбранноеИмяФайла, ДопПараметры);
+ КонецЕсли;
+ /// Back to 8.2
+
КонецЕсли;
КонецПроцедуры
@@ -3049,8 +2322,14 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs
Если ПодключенныеВнешниеОбработки.Получить(ФайлОбработки.ИмяБезРасширения) = Неопределено Тогда
ЭтоОтчет = (НРег(ФайлОбработки.Расширение) = "".erf"");
- Оп = Новый ОписаниеОповещения(""ПодключитьВнешнююОбработкуЗавершение"", ЭтаФорма, Новый Структура(""ФайлОбработки, ЭтоОтчет"", ФайлОбработки, ЭтоОтчет));
- НачатьПомещениеФайла(Оп, АдресХранилища, ФайлОбработки.ПолноеИмя , Ложь, ЭтаФорма.УникальныйИдентификатор);
+ // Back to 8.2
+ //Оп = Новый ОписаниеОповещения(""ПодключитьВнешнююОбработкуЗавершение"", ЭтаФорма, Новый Структура(""ФайлОбработки, ЭтоОтчет"", ФайлОбработки, ЭтоОтчет));
+ ВыбранноеИмяФайла = """";
+ Если ПоместитьФайл(АдресХранилища, ФайлОбработки.ПолноеИмя , ВыбранноеИмяФайла, Ложь, ЭтаФорма.УникальныйИдентификатор) Тогда
+ ДопПараметры = Новый Структура(""ФайлОбработки, ЭтоОтчет"", ФайлОбработки, ЭтоОтчет);
+ ПодключитьВнешнююОбработкуЗавершение(Истина, АдресХранилища, ВыбранноеИмяФайла, ДопПараметры);
+ КонецЕсли;
+ /// Back to 8.2
КонецЕсли;
КонецПроцедуры
@@ -3589,8 +2868,7 @@ Oi8vdjguMWMucnUvOC4xL2RhdGEvdWkiIHhtbG5zOndlYj0iaHR0cDovL3Y4LjFj
LnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93ZWIiIHhtbG5zOndpbj0iaHR0cDovL3Y4
LjFjLnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93aW5kb3dzIiB4bWxuczp4cz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDov
-L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiPg0KCTxvdXRwdXRQ
-YXJhbWV0ZXJzLz4NCjwvU2V0dGluZ3M+}
+L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=}
},
{0,1,
{0,"Пути",
@@ -3599,7 +2877,7 @@ YXJhbWV0ZXJzLz4NCjwvU2V0dGluZ3M+}
},0}
},
{0,11,
-{8,
+{6,
{3,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"КомандаВыполнитьВсеТесты",
{1,1,
{"ru","Выполнить все тесты (F7)"}
@@ -3612,10 +2890,11 @@ YXJhbWV0ZXJzLz4NCjwvU2V0dGluZ3M+}
{"B",1},0}
},
{0,118,0},
-{4,0,
-{0},"",-1,-1,1,0,""},"КомандаВыполнитьВсеТесты",2,0,0,
-{0,0},1,0,1,0,0},
-{8,
+{3,0,
+{0},"",-1,-1,1,0},"КомандаВыполнитьВсеТесты",2,0,0,
+{0,0}
+},
+{6,
{4,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"КомандаПерезагрузитьВсеТесты",
{1,1,
{"ru","Перезагрузить"}
@@ -3628,10 +2907,11 @@ YXJhbWV0ZXJzLz4NCjwvU2V0dGluZ3M+}
{"B",1},0}
},
{0,82,8},
-{4,0,
-{0},"",-1,-1,1,0,""},"ПерезагрузитьПоследниеТестыПоИстории",2,0,0,
-{0,0},1,0,1,0,0},
-{8,
+{3,0,
+{0},"",-1,-1,1,0},"ПерезагрузитьПоследниеТестыПоИстории",2,0,0,
+{0,0}
+},
+{6,
{5,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"КомандаВыполнитьВыделенныеТесты",
{1,1,
{"ru","Выполнить выделенные (Ctrl+Enter)"}
@@ -3644,10 +2924,11 @@ YXJhbWV0ZXJzLz4NCjwvU2V0dGluZ3M+}
{"B",1},0}
},
{0,0,0},
-{4,1,
-{0,0ce78048-0196-4f80-a781-9829cdb7f43e},"",-1,-1,1,0,""},"КомандаВыполнитьВыделенныеТесты",2,0,0,
-{0,0},1,0,1,0,0},
-{8,
+{3,1,
+{0,0ce78048-0196-4f80-a781-9829cdb7f43e},"",-1,-1,1,0},"КомандаВыполнитьВыделенныеТесты",2,0,0,
+{0,0}
+},
+{6,
{7,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"ГенераторМакетовДанных",
{1,1,
{"ru","Генератор макетов данных"}
@@ -3660,10 +2941,11 @@ YXJhbWV0ZXJzLz4NCjwvU2V0dGluZ3M+}
{"B",1},0}
},
{0,0,0},
-{4,0,
-{0},"",-1,-1,1,0,""},"ГенераторМакетовДанных",3,0,0,
-{0,0},1,0,1,0,0},
-{8,
+{3,0,
+{0},"",-1,-1,1,0},"ГенераторМакетовДанных",3,0,0,
+{0,0}
+},
+{6,
{8,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"ПоказатьГУИД",
{1,1,
{"ru","Показать ГУИД"}
@@ -3676,10 +2958,11 @@ YXJhbWV0ZXJzLz4NCjwvU2V0dGluZ3M+}
{"B",1},0}
},
{0,0,0},
-{4,0,
-{0},"",-1,-1,1,0,""},"ПоказатьГУИД",3,0,0,
-{0,0},1,0,1,0,0},
-{8,
+{3,0,
+{0},"",-1,-1,1,0},"ПоказатьГУИД",3,0,0,
+{0,0}
+},
+{6,
{11,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"КомандаЗагрузитьТолькоВыделенныеТесты",
{1,1,
{"ru","Загрузить только выделенные тесты"}
@@ -3692,10 +2975,11 @@ YXJhbWV0ZXJzLz4NCjwvU2V0dGluZ3M+}
{"B",1},0}
},
{0,0,0},
-{4,0,
-{0},"",-1,-1,1,0,""},"КомандаЗагрузитьТолькоВыделенныеТесты",3,0,0,
-{0,0},1,0,1,0,0},
-{8,
+{3,0,
+{0},"",-1,-1,1,0},"КомандаЗагрузитьТолькоВыделенныеТесты",3,0,0,
+{0,0}
+},
+{6,
{15,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"КомандаПерезагрузитьФорму",
{1,1,
{"ru","Перезагрузить браузер тестирования"}
@@ -3708,10 +2992,11 @@ YXJhbWV0ZXJzLz4NCjwvU2V0dGluZ3M+}
{"B",1},0}
},
{0,0,0},
-{4,0,
-{0},"",-1,-1,1,0,""},"КомандаПерезагрузитьФорму",3,0,0,
-{0,0},1,0,1,0,0},
-{8,
+{3,0,
+{0},"",-1,-1,1,0},"КомандаПерезагрузитьФорму",3,0,0,
+{0,0}
+},
+{6,
{1,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"ЗагрузитьТестыПоУмолчанию",
{1,1,
{"ru","Загрузить тесты по умолчанию"}
@@ -3724,10 +3009,11 @@ YXJhbWV0ZXJzLz4NCjwvU2V0dGluZ3M+}
{"B",1},0}
},
{0,0,0},
-{4,0,
-{0},"",-1,-1,1,0,""},"ЗагрузитьТестыПоУмолчанию",3,0,0,
-{0,0},1,0,1,0,0},
-{8,
+{3,0,
+{0},"",-1,-1,1,0},"ЗагрузитьТестыПоУмолчанию",3,0,0,
+{0,0}
+},
+{6,
{2,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"КонвертерТестов",
{1,1,
{"ru","Конвертер тестов в формат 4-й версии"}
@@ -3740,10 +3026,11 @@ YXJhbWV0ZXJzLz4NCjwvU2V0dGluZ3M+}
{"B",1},0}
},
{0,0,0},
-{4,0,
-{0},"",-1,-1,1,0,""},"КонвертерТестов",3,0,0,
-{0,0},1,0,1,0,0},
-{8,
+{3,0,
+{0},"",-1,-1,1,0},"КонвертерТестов",3,0,0,
+{0,0}
+},
+{6,
{6,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"ПреобразоватьЖурналДействийПользователяВТест",
{1,1,
{"ru","Преобразовать журнал действий пользователя в тест"}
@@ -3756,10 +3043,11 @@ YXJhbWV0ZXJzLz4NCjwvU2V0dGluZ3M+}
{"B",1},0}
},
{0,0,0},
-{4,0,
-{0},"",-1,-1,1,0,""},"ПреобразоватьЖурналДействийПользователяВТест",3,0,0,
-{0,0},1,0,1,0,0},
-{8,
+{3,0,
+{0},"",-1,-1,1,0},"ПреобразоватьЖурналДействийПользователяВТест",3,0,0,
+{0,0}
+},
+{6,
{9,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"ЗагрузитьНастройкиИзФайла",
{1,1,
{"ru","Загрузить настройки из файла ..."}
@@ -3772,9 +3060,11 @@ YXJhbWV0ZXJzLz4NCjwvU2V0dGluZ3M+}
{"B",1},0}
},
{0,0,0},
-{4,0,
-{0},"",-1,-1,1,0,""},"ЗагрузитьНастройкиИзФайла",3,0,0,
-{0,0},1,0,1,0,0}
+{3,0,
+{0},"",-1,-1,1,0},"ЗагрузитьНастройкиИзФайла",3,0,0,
+{0,0}
+}
},
{0,0},
-{0,0},0,0}
\ No newline at end of file
+{0,0}
+}
\ No newline at end of file
diff --git a/src/xddTestRunner/und/version b/src/xddTestRunner/und/version
index 421eee79..c23bfe28 100644
--- a/src/xddTestRunner/und/version
+++ b/src/xddTestRunner/und/version
@@ -1,5 +1,3 @@
{
-{216,0,
-{80308,0}
-}
+{216,0}
}
\ No newline at end of file
diff --git a/src/xddTestRunner/und/versions b/src/xddTestRunner/und/versions
index 23ae2dd2..ad2ef5e9 100644
--- a/src/xddTestRunner/und/versions
+++ b/src/xddTestRunner/und/versions
@@ -1 +1 @@
-{1,13,"",167bf462-8ab4-4c86-a86b-8268666ad1f4,"11ad5c96-c434-4088-bf66-ddff06c57ed8.0",0d23ac0b-6b1e-4611-aa6b-8b41501bbc6f,"11ad5c96-c434-4088-bf66-ddff06c57ed8.1",cb6e1145-4486-4457-b7fb-2926909257fb,"5070e3c3-f74b-4ecd-9756-1136a230eca2",59450728-f7ab-485c-927e-22f0c59ee21c,"a1ce7ef7-f372-4589-b899-7fbf88efa7bf",c3620363-9c21-4184-acdc-888f01289b15,"a1ce7ef7-f372-4589-b899-7fbf88efa7bf.0",6b3ea77c-57a9-4f5b-aa2b-5e90f5e83621,"copyinfo",4746229a-d6c3-4721-a49c-76999063a9c7,"ed07b230-8bf7-4423-b861-a31f23c7471f",cf2bb849-ce22-4995-aa08-1d17d67e9552,"ed07b230-8bf7-4423-b861-a31f23c7471f.0",16506150-b430-4429-ad1c-5b3d117f462e,"ed07b230-8bf7-4423-b861-a31f23c7471f.1",d2376067-c9d3-4379-9abc-b96f699d83ed,"root",9373e236-f9a8-46ed-b837-50485de35c04,"version",a162087e-e228-4b28-930b-cbb78881e54b,"versions",48bee36b-a124-4c33-be98-f746042997c4}
\ No newline at end of file
+{1,13,"",34048684-2d3b-409f-b975-a05b06f2e636,"versions",423abe9f-d643-42a5-8282-481c9bc10e49,"5070e3c3-f74b-4ecd-9756-1136a230eca2",6eebe4dc-bb34-4abc-aed7-8ff3f45d6e1b,"root",29f81235-c11b-4de3-aafc-dc707d7438f7,"11ad5c96-c434-4088-bf66-ddff06c57ed8.0",dffd959b-120a-4d38-b584-3be8720cdf20,"11ad5c96-c434-4088-bf66-ddff06c57ed8.1",cc7b81c6-20c0-4c3a-b0a9-1323a99d2f4b,"a1ce7ef7-f372-4589-b899-7fbf88efa7bf",2d80ca61-603e-4d4b-bb47-6130df8ae0de,"version",c5e8b4b7-fb59-456c-9d58-0d2089801253,"ed07b230-8bf7-4423-b861-a31f23c7471f",c84fd9d8-5293-46a9-b249-31e8d5b34668,"copyinfo",2fc1ccd2-7b55-460e-9969-cb1e3b22064d,"a1ce7ef7-f372-4589-b899-7fbf88efa7bf.0",dd197956-9b21-4e06-ad76-4c8068a16432,"ed07b230-8bf7-4423-b861-a31f23c7471f.0",084f1a12-57e9-43ac-8a38-db0b834b9da5,"ed07b230-8bf7-4423-b861-a31f23c7471f.1",d2376067-c9d3-4379-9abc-b96f699d83ed}
\ No newline at end of file
diff --git a/xddTestRunner.epf b/xddTestRunner.epf
index fde36660..86e35c45 100644
Binary files a/xddTestRunner.epf and b/xddTestRunner.epf differ